1
1

More than 3 years have passed since last update.

テキストの文字コード判定が困難(面倒)な文字列

Last updated at Posted at 2020-04-04

UTF-8 と SHIFT JIS で文字コードのバイト列が同じだと、機械的な単純判定では区別がつきません。そのパターンを CP932 と Unicode の変換表(unicode.org より) から作り、サンプルとして良さそうなものを選んでみました。

UTF-8 判定された文字列

UTF8-2文字.TXT
ぐぁ ぐあ ぐぃ ぐい ぐぅ ぐう ぐぇ ぐえ ぐぉ ぐお
ぐか ぐが ぐき ぐぎ ぐく ぐぐ ぐけ ぐげ ぐこ ぐご
ぐさ ぐざ ぐし ぐじ ぐす ぐず ぐせ ぐぜ ぐそ ぐぞ
ぐた ぐだ ぐち ぐぢ ぐっ ぐつ ぐづ ぐて ぐで ぐと
ぐど ぐな ぐに ぐぬ ぐへ ぐべ ぐぺ ぐほ ぐぼ ぐぽ
ぐま ぐみ ぐめ ぐも ぐゃ ぐや ぐゅ ぐゆ ぐょ ぐよ
ぐら ぐり ぐる ぐれ ぐろ
ぐゎ ぐわ ぐゐ ぐゑ ぐを
ぐん

このテキストを保存する場合は、文字コードを UTF-8 としてください。

SHIFT JIS 判定された文字列

SJIS-3文字.TXT
縺舌= 縺舌≠ 縺舌< 縺舌> 縺舌≦ 縺舌≧ 縺舌∞ 縺舌∴ 縺舌♂ 縺舌♀
縺舌° 縺舌′ 縺舌″ 縺舌℃ 縺舌¥ 縺舌$ 縺舌¢ 縺舌£ 縺舌% 縺舌#
縺舌& 縺舌* 縺舌@ 縺舌§ 縺舌☆ 縺舌★ 縺舌○ 縺舌● 縺舌◎ 縺舌◇
縺舌◆ 縺舌□ 縺舌■ 縺舌△ 縺舌▲ 縺舌▽ 縺舌▼ 縺舌※ 縺舌〒 縺舌→
縺舌← 縺舌↑ 縺舌↓ 縺舌〓 縺舌∈ 縺舌∋ 縺舌⊆ 縺舌⊇ 縺舌⊂ 縺舌⊃
縺舌∪ 縺舌∩ 縺舌a 縺舌b 縺舌c 縺舌d 縺舌e 縺舌f 縺舌g 縺舌h
縺舌i 縺舌j 縺舌k 縺舌l 縺舌m
縺舌n 縺舌o 縺舌p 縺舌q 縺舌r
縺舌s

このテキストを保存する場合は、文字コードを SHIFT JIS (今のメモ帳だと ANSI?) としてください。


「ぐん」(UTF-8)と「縺舌s」(SHIFT JIS) のバイト列を見ると

E3 81 90 E3 82 93
E3 81 90 E3 82 93

UTF-8 では 3 バイト区切りの 2 文字で、SHIFT JIS では、2 バイト区切りの 3 文字と判断されます。


1文字の UTF-8 と 2 文字の SHIFT JIS 組み合わせ例
UTF-1文字.TXT
§ ¨ ° ± ´ ¶ ÷ Ρ Σ Τ Υ Φ
Χ Ψ Ω α β γ δ ε ζ η θ ι
κ λ μ ν ξ ο С Т У Ф Х Ц
Ч Ш Щ Ъ Ы Ь Э Ю Я а б в
г д е ж з и й к л м н о
п ‡ ‥ … ‰ ′ ″ ※ ℡ Å Ⅱ Ⅲ
Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ Ⅹ ⅰ ⅱ ⅲ ⅳ ⅴ
ⅵ ⅶ ⅷ ⅸ ⅹ ∥ ∧ ∨ ∩ ∪ ∫ ∬
∮ ∴ ∵ ∽ ≡ ≦ ≧ ≪ ≫ ⊥ ⊿ ②
③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭
⑮ ⑯ ⑰ ⑱ ⑲ ⑳ ┣ ┤ ┥ ┨ ┫ ┬
┯ ┰ ┳ ┴ ┷ ┸ ┻ ┼ ┿ □ ▲ △
▼ ▽ ◯ ♪ ♭ ♯ ち ぢ っ つ づ て
で と ど な に ぬ ね の は ば ぱ ひ
び ぴ ふ ぶ ぷ へ べ ぺ ほ ぼ ぽ ま
み ァ ア ィ イ ゥ ウ ェ エ ォ オ カ
ガ キ ギ ク グ ケ ゲ コ ゴ サ ザ シ
ジ ス ズ セ ゼ ソ ゾ タ メ モ ャ ヤ
ュ ユ ョ ヨ ラ リ ル レ ロ ヮ ワ ヰ
ヱ ヲ ン ヴ ヵ ヶ ・ ー ヽ ヾ ㈱ ㈲
㈹ ㊤ ㊥ ㊦ ㊧ ㊨ ㌢ ㌣ ㌦ ㌧ ㌫ ㌶
㌻ ㍻ ㍼ ㍽ ㍾ ㎡ 両 並 丨 个 中 丱
串 丶 丸 丹 主 丼 丿 乢 乱 乳 乾 亡
亢 交 亥 亦 亨 享 京 亭 亮 亰 亳 亶
人 仡 代 令 以 仭 仮 仰 仲 件 价 任
仼 伯 估 伴 伶 伸 伹 伺 似 伽 佩 佯
佰 佳 併 佶 佻 佼 使 価 侫 侭 侮 侯
侵 侶 便 信 俣 俤 俥 修 俯 俳 俵 俶
俸 俺 俾 俿 倡 倢 倣 値 倥 倦 倨 倩
SJIS-2文字.TXT
ツァ ツィ ツー ツア ツエ ツカ テキ ホ。 ホ」 ホ、 ホ・ ホヲ
ホァ ホィ ホゥ ホア ホイ ホウ ホエ ホオ ホカ ホキ ホク ホケ
ホコ ホサ ホシ ホス ホセ ホソ ミ。 ミ「 ミ」 ミ、 ミ・ ミヲ
ミァ ミィ ミゥ ミェ ミォ ミャ ミュ ミョ ミッ ミー ミア ミイ
ミウ ミエ ミオ ミカ ミキ ミク ミケ ミコ ミサ ミシ ミス ミセ
ミソ 窶。 窶・ 窶ヲ 窶ー 窶イ 窶ウ 窶サ 邃。 邃ォ 竇。 竇「
竇」 竇、 竇・ 竇ヲ 竇ァ 竇ィ 竇ゥ 竇ー 竇ア 竇イ 竇ウ 竇エ
竇オ 竇カ 竇キ 竇ク 竇ケ 竏・ 竏ァ 竏ィ 竏ゥ 竏ェ 竏ォ 竏ャ
竏ョ 竏エ 竏オ 竏ス 竕。 竕ヲ 竕ァ 竕ェ 竕ォ 竓・ 竓ソ 竭。
竭「 竭」 竭、 竭・ 竭ヲ 竭ァ 竭ィ 竭ゥ 竭ェ 竭ォ 竭ャ 竭ュ
竭ョ 竭ッ 竭ー 竭ア 竭イ 竭ウ 笏」 笏、 笏・ 笏ィ 笏ォ 笏ャ
笏ッ 笏ー 笏ウ 笏エ 笏キ 笏ク 笏サ 笏シ 笏ソ 笆。 笆イ 笆ウ
笆シ 笆ス 笳ッ 笙ェ 笙ュ 笙ッ 縺。 縺「 縺」 縺、 縺・ 縺ヲ
縺ァ 縺ィ 縺ゥ 縺ェ 縺ォ 縺ャ 縺ュ 縺ョ 縺ッ 縺ー 縺ア 縺イ
縺ウ 縺エ 縺オ 縺カ 縺キ 縺ク 縺ケ 縺コ 縺サ 縺シ 縺ス 縺セ
縺ソ 繧。 繧「 繧」 繧、 繧・ 繧ヲ 繧ァ 繧ィ 繧ゥ 繧ェ 繧ォ
繧ャ 繧ュ 繧ョ 繧ッ 繧ー 繧ア 繧イ 繧ウ 繧エ 繧オ 繧カ 繧キ
繧ク 繧ケ 繧コ 繧サ 繧シ 繧ス 繧セ 繧ソ 繝。 繝「 繝」 繝、
繝・ 繝ヲ 繝ァ 繝ィ 繝ゥ 繝ェ 繝ォ 繝ャ 繝ュ 繝ョ 繝ッ 繝ー
繝ア 繝イ 繝ウ 繝エ 繝オ 繝カ 繝サ 繝シ 繝ス 繝セ 繹ア 繹イ
繹ケ 繩、 繩・ 繩ヲ 繩ァ 繩ィ 繻「 繻」 繻ヲ 繻ァ 繻ォ 繻カ
繻サ 纃サ 纃シ 纃ス 纃セ 緕。 荳。 荳ヲ 荳ィ 荳ェ 荳ュ 荳ア
荳イ 荳カ 荳ク 荳ケ 荳サ 荳シ 荳ソ 荵「 荵ア 荵ウ 荵セ 莠。
莠「 莠、 莠・ 莠ヲ 莠ィ 莠ォ 莠ャ 莠ュ 莠ョ 莠ー 莠ウ 莠カ
莠コ 莉。 莉」 莉、 莉・ 莉ュ 莉ョ 莉ー 莉イ 莉カ 莉キ 莉サ
莉シ 莨ッ 莨ー 莨エ 莨カ 莨ク 莨ケ 莨コ 莨シ 莨ス 菴ゥ 菴ッ
菴ー 菴ウ 菴オ 菴カ 菴サ 菴シ 菴ソ 萓。 萓ォ 萓ュ 萓ョ 萓ッ
萓オ 萓カ 萓ソ 菫。 菫」 菫、 菫・ 菫ョ 菫ッ 菫ウ 菫オ 菫カ
菫ク 菫コ 菫セ 菫ソ 蛟。 蛟「 蛟」 蛟、 蛟・ 蛟ヲ 蛟ィ 蛟ゥ

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1