在 python 中读取混合编码 json 文件

Read a mixed encoding json file in python

我有一个包含以下内容的 json 文件

{
"2ndStrike": {
    "SECONDSTKE_FIGHT_BUTTON": "攻撃を続ける",
    "SECONDSTKE_RESOURCE_DESC": "残り資源",
    "SECONDSTKE_RESOURCE_REM1": "残りの資源を得るため小隊を修理し戦闘を続けろ:",
    "SECONDSTKE_RESOURCE_REM2": "悪名を高めるためにも戦い続け、この基地を破壊しろ!",
    "SECONDSTKE_SURR_BUTTON": "降伏",
    "SECONDSTKE_TITLE": "敗北"
},
"AccountManagementUI": {
    "CHOOSE_BASE_AGE_{x}": "{x} 日目",
    "CHOOSE_BASE_CC_LEVEL_{x}": "CC レベル {x}",
    "CHOOSE_BASE_CONFIRM_MESSAGE": "本当にこれから全てのデバイスでこの基地を使用しますか?",
    "CHOOSE_BASE_CONTINUE_BUTTON": "続ける",
    "CHOOSE_BASE_DESCRIPTION": "この{social_network}アカウントには2つの基地が存在してます。基地の数は一人のプレイヤーにつき一つに限定されています。基地を選択するか、キャンセルしてください。",
    "CHOOSE_BASE_LEVEL_{x}": "レベル {x}",
    "CHOOSE_BASE_LOCKED_BUTTON": "基地の選択",
    "CHOOSE_BASE_PANEL_TITLE": "アクティブな基地の選択"
}
}

我想提取此文件中出现的所有唯一非英语字符。谁能告诉我该怎么做?

您仍然可以使用 json.load,它将与任何其他普通 ascii 字符串一样工作。

import json
data = json.load(open("yourfilename.json"))

如果你不能print屏幕上的数据,那就是完全不同的话题了。

如果只想统计单个字符出现的时间,可以这样做:

import re, collections
with open("/users/apple/desktop/me.txt", 'rb') as data:
    counted = collections.Counter(re.findall('[^\x00-\x7F]', data.read().decode(), re.UNICODE))
print(counted)

输出:

Counter({'of': 10, 'to': 8, 'base': 7, 'ground': 7, 'ru': 5, 'be': 5, 'to': 5, 'zoku': 4, 'ke': 4, 'ko': 4, 'te': 4, 'su': 4, 'me': 3, 'i': 3, 're': 3, 'ru ': 3, 'ka': 3, 'ma': 3, 'th': 3, '.': 3, 'choice': 3, 'choice': 3, 'remainder': 2, 'ri': 2, 'Resource': 2, 'Source': 2, 'Ta': 2, 'Battle': 2, 'Ro': 2, ',': 2, 'Be': 2, 'Re': 2, 'i': 2, 'a': 2, 'n': 2, 'ha': 2, 'one': 2, 'sa': 2, 'attack': 1, 'hit': 1, 'get ': 1, '小': 1, '小队': 1, '修': 1, '日': 1, '斗': 1, ':': 1, '恶': 1, '名': 1, 'high': 1, 'mo': 1, 'break': 1, 'break': 1, '!': 1, 'down': 1, 'down': 1, 'loss': 1, 'north': 1, 'day': 1, 'me': 1, 'hon': 1, 'to': 1, 'ra': 1, 'all': 1, 'de': 1, 'ba ': 1, 'su': 1, 'in': 1, 'used': 1, 'used': 1, '?': 1, 'ka': 1, 'u': 1, 'to': 1, 'ga': 1, 'presence': 1, 'presence': 1, 'number': 1, 'people': 1, 'pu': 1, 'ya': 1, '-': 1, 'ki': 1, 'limited': 1, 'fixed': 1, 'ki': 1, 'ja': 1, 'se': 1, 'ku': 1, 'da': 1, 'ku ': 1, 'te': 1, 'i': 1, 'bu': 1, 'na': 1})