LoginSignup
0
0

視覚で理解する日本語文字コード

Last updated at Posted at 2023-08-12

はじめに

日本語の文章の文字コードを判定するにあたり、それぞれの文字コードで使用される値の範囲について調べてみました。

UTF-8について

文字を1~4バイトで表現します。1バイト目と2~4バイト目では値の範囲が被りません。
utf8.png

文字 バイト数 1バイト目 2バイト目 3バイト目 4バイト目
ASCIIコード 1 00-7F - - -
2バイト表現文字 2 C2-DF 80-BF - -
3バイト表現文字 3 E0-EF 80-BF 80-BF -
4バイト表現文字 4 F0-F4 80-BF 80-BF 80-BF
参考)かな 3 E3 81-83 80-BF -
   常用漢字 3 E4-E9 80-BF 80-BF -

日本語の文章であればひらがな、カタカナ、漢字が多く含まれると考えられるのでバイナリとしてはE*-8*-8*のような3バイト表現が多く出現することになります。

参考)

Shift_JISについて

文字を1~2バイトで表現します。2バイト目にASCIIコードと被る領域があるためダメ文字といった問題が発生します。
sjis.png

文字 バイト数 1バイト目 2バイト目
ASCIIコード 1 00-7F -
半角カタカナ 1 A1-DF -
上記以外 2 81-9F,E0-FC 40-7E,80-FC
参考)かな 2 82-83 40-F1
   常用漢字 2 88-9F,E0-E3,E6,E7 40-7E,80-FC

日本語の文章であればひらがな、カタカナ、漢字が多く含まれると考えられるのでバイナリとしては8*-**のような2バイト表現が多く出現することになります。

参考)

バイナリを確認したとき、値が上記の表の範囲内であればShift_JISと判定できそうですが、例えば、UTF-8のテキストファイル

utf8n.txt
アイウエオカガキギクグケゲコゴサザシジスズセゼソゾタちぢつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみメモヤユヨラリルレロワヲン湾丼傲刹哺喩嘲恣惧憬摯楷鬱璧緻諧貪踪辣錮挨悪握圧扱以囲慰為異移維緯衣遺医育壱逸稲茨印咽員姻飲淫院陰韻右羽雨臼渦浦雲営影永泳英鋭液疫悦閲宴延怨援沿猿艶塩凹央奥押旺横欧殴岡憶俺卸恩温音仮価佳可家寡架河火稼花荷華課貨画芽解快怪改械海灰絵劾害慨涯該骸垣柿拡格核殻獲確穫郭閣革学岳楽割括活株瓦乾勧巻堪干幹患慣憾敢棺款漢環監管簡緩缶艦観貫関陥館丸含岸玩眼岩危器基幾揮机既帰汽畿季貴起飢鬼偽戯擬欺義議喫詰却客吸宮急朽泣究窮糾給旧去巨許享京競共凶叫峡強恭狭矯胸郷鏡響仰業曲極勤巾錦斤琴謹句区苦具空偶串靴繰勲薫群郡傾形恵慶憩掲携敬景稽系詣警軽芸鯨決穴件倹健兼券剣建憲懸拳権犬献絹肩賢遣鍵険厳幻弦現舷古呼固孤己庫弧戸枯股顧娯御誤護交侯公効勾口好工巧幸康控攻更校洪港甲硬稿綱肯航衡貢購酵鉱鋼号拷豪刻国酷腰骨込困墾恨根混紺左差査座挫債催妻宰彩採栽歳災祭細剤在罪財阪咲埼搾昨柵索錯刷拶撮擦札殺皿山惨散産酸斬暫伺使刺司史嗣士姿師支施旨止死糸紫肢至詩試諮飼歯似寺次治璽示耳自鹿軸叱執失室湿疾質捨赦煮社遮邪勺尺爵若弱主朱狩種腫趣呪寿樹周就修拾臭襲蹴週酬獣縦宿縮塾出述春瞬循旬潤盾巡遵処庶署書諸助女除傷召唱奨宵彰承昭晶松沼焼焦照祥称粧紹証詳象剰場嬢常条状畳蒸譲醸嘱飾拭職色触辱尻伸信侵審振新森浸深申紳臣芯薪親診身進人尽陣酢図吹帥推水睡衰数枢据裾寸瀬是制勢性政整晴正牲精声製西隻席斥石績責赤跡接設説雪絶宣戦羨腺船薦詮践選遷銭鮮漸然全膳措曽訴阻遡僧創喪壮爽層想挿早曹巣槽燥痩相葬藻走遭蔵側即息測足孫太汰唾妥惰対帯戴替泰貸逮代台大第沢濯諾奪脱谷誰丹探旦淡炭短端綻団弾断段男値知地恥痴置致竹秩茶嫡中仲抽昼柱注虫衷鋳貯帳張彫徴懲潮町眺聴脹腸調跳長鳥直鎮陳津追漬潰坪爪釣鶴亭偵堤庭廷抵諦邸泥敵滴適溺哲徹撤迭典天添貼転点殿田電妬渡登賭都努度奴冬島悼搭東湯灯統到藤陶頭騰憧瞳童胴匿徳特督篤独読凸屯那難尼虹日乳入尿任寧猫熱年念捻悩能脳農波派破罵馬俳杯肺輩培買売陪伯白舶迫麦箱箸八鉢発髪罰閥伴判搬板氾犯班般藩販煩飯晩番盤蛮否彼悲批披疲皮罷肥被費避尾微鼻匹姫百俵氷票表貧頻瓶夫婦扶敷普浮父符賦赴侮武部風副復腹沸物噴墳憤奮雰併兵幣平並蔽米別編辺便歩暮簿倣俸報峰崩抱放方泡砲縫芳訪邦飽亡妨帽房暴紡肪膨貿防墨撲朴牧睦没本翻凡摩磨麻妹昧抹末繭慢漫味未岬夢無霧婿冥命迷鳴綿面麺模盲網木目戻冶弥矢役薬訳柳油諭輸唯優幽湧猶由郵幼容庸揺溶用窯謡陽欲浴翼裸来頼雷絡落酪乱卵濫覧利履梨痢離陸略硫侶慮両寮涼瞭糧良陵倫臨輪隣累令冷励礼鈴隷零齢暦歴劣練連錬路露労楼浪六録話

は上記の表の範囲内しか使用していないためShift_JISと誤判定してしまいます。上記ファイルをShift_JISとして開くと

utf8n.txt
繧「繧、繧ヲ繧ィ繧ェ繧ォ繧ャ繧ュ繧ョ繧ッ繧ー繧ア繧イ繧ウ繧エ繧オ繧カ繧キ繧ク繧ケ繧コ繧サ繧シ繧ス繧セ繧ソ縺。縺「縺、縺・縺ヲ縺ァ縺ィ縺ゥ縺ェ縺ォ縺ャ縺ュ縺ョ縺ッ縺ー縺ア縺イ縺ウ縺エ縺オ縺カ縺キ縺ク縺ケ縺コ縺サ縺シ縺ス縺セ縺ソ繝。繝「繝、繝ヲ繝ィ繝ゥ繝ェ繝ォ繝ャ繝ュ繝ッ繝イ繝ウ貉セ荳シ蛯イ蛻ケ蜩コ蝟ゥ蝌イ諱」諠ァ諞ャ鞫ッ讌キ鬯ア迺ァ邱サ隲ァ雋ェ雕ェ霎」骭ョ謖ィ謔ェ謠。蝨ァ謇ア莉・蝗イ諷ー轤コ逡ー遘サ邯ュ邱ッ陦」驕コ蛹サ閧イ螢ア騾ク遞イ闌ィ蜊ー蜥ス蜩。蟋サ鬟イ豺ォ髯「髯ー髻サ蜿ウ鄒ス髮ィ閾シ貂ヲ豬ヲ髮イ蝟カ蠖ア豌ク豕ウ闍ア驪ュ豸イ逍ォ謔ヲ髢イ螳エ蟒カ諤ィ謠エ豐ソ迪ソ濶カ蝪ゥ蜃ケ螟ョ螂・謚シ譌コ讓ェ谺ァ谿エ蟯。諞カ菫コ蜊ク諱ゥ貂ゥ髻ウ莉ョ萓。菴ウ蜿ッ螳カ蟇。譫カ豐ウ轣ォ遞シ闃ア闕キ闖ッ隱イ雋ィ逕サ闃ス隗」蠢ォ諤ェ謾ケ譴ー豬キ轣ー邨オ蜉セ螳ウ諷ィ豸ッ隧イ鬪ク蝙」譟ソ諡。譬シ譬ク谿サ迯イ遒コ遨ォ驛ュ髢」髱ゥ蟄ヲ蟯ウ讌ス蜑イ諡ャ豢サ譬ェ逑ヲ荵セ蜍ァ蟾サ蝣ェ蟷イ蟷ケ謔」諷」諞セ謨「譽コ谺セ貍「迺ー逶」邂。邁。邱ゥ郛カ濶ヲ隕ウ雋ォ髢「髯・鬢ィ荳ク蜷ォ蟯ク邇ゥ逵シ蟯ゥ蜊ア蝎ィ蝓コ蟷セ謠ョ譛コ譌「蟶ー豎ス逡ソ蟄」雋エ襍キ鬟「鬯シ蛛ス謌ッ謫ャ谺コ鄒ゥ隴ー蝟ォ隧ー蜊エ螳「蜷ク螳ョ諤・譛ス豕」遨カ遯ョ邉セ邨ヲ譌ァ蜴サ蟾ィ險ア莠ォ莠ャ遶カ蜈ア蜃カ蜿ォ蟲。蠑キ諱ュ迢ュ遏ッ閭ク驛キ髀。髻ソ莉ー讌ュ譖イ讌オ蜍、蟾セ骭ヲ譁、逅エ隰ケ蜿・蛹コ闍ヲ蜈キ遨コ蛛カ荳イ髱エ郢ー蜍イ阮ォ鄒、驛。蛯セ蠖「諱オ諷カ諞ゥ謗イ謳コ謨ャ譎ッ遞ス邉サ隧」隴ヲ霆ス闃ク魃ィ豎コ遨エ莉カ蛟ケ蛛・蜈シ蛻ク蜑」蟒コ諞イ諛ク諡ウ讓ゥ迥ャ迪ョ邨ケ閧ゥ雉「驕」骰オ髯コ蜴ウ蟷サ蠑ヲ迴セ闊キ蜿、蜻シ蝗コ蟄、蟾ア蠎ォ蠑ァ謌ク譫ッ閧。鬘ァ螽ッ蠕。隱、隴キ莠、萓ッ蜈ャ蜉ケ蜍セ蜿」螂ス蟾・蟾ァ蟷ク蠎キ謗ァ謾サ譖エ譬。豢ェ貂ッ逕イ遑ャ遞ソ邯ア閧ッ闊ェ陦。雋「雉シ驟オ驩ア驪シ蜿キ諡キ雎ェ蛻サ蝗ス驟キ閻ー鬪ィ霎シ蝗ー蠅セ諱ィ譬ケ豺キ邏コ蟾ヲ蟾ョ譟サ蠎ァ謖ォ蛯オ蛯ャ螯サ螳ー蠖ゥ謗。譬ス豁ウ轣ス逾ュ邏ー蜑、蝨ィ鄂ェ雋。髦ェ蜥イ蝓シ謳セ譏ィ譟オ邏「骭ッ蛻キ諡カ謦ョ謫ヲ譛ュ谿コ逧ソ螻ア諠ィ謨」逕」驟ク譁ャ證ォ莨コ菴ソ蛻コ蜿ク蜿イ蝸」螢ォ蟋ソ蟶ォ謾ッ譁ス譌ィ豁「豁サ邉ク邏ォ閧「閾ウ隧ゥ隧ヲ隲ョ鬟シ豁ッ莨シ蟇コ谺。豐サ迺ス遉コ閠ウ閾ェ鮖ソ霆ク蜿ア蝓キ螟ア螳、貉ソ逍セ雉ェ謐ィ襍ヲ辣ョ遉セ驕ョ驍ェ蜍コ蟆コ辷オ闍・蠑ア荳サ譛ア迢ゥ遞ョ閻ォ雜」蜻ェ蟇ソ讓ケ蜻ィ蟆ア菫ョ諡セ閾ュ隘イ雹エ騾ア驟ャ迯」邵ヲ螳ソ邵ョ蝪セ蜃コ霑ー譏・迸ャ蠕ェ譌ャ貎、逶セ蟾。驕オ蜃ヲ蠎カ鄂イ譖ク隲ク蜉ゥ螂ウ髯、蛯キ蜿ャ蜚ア螂ィ螳オ蠖ー謇ソ譏ュ譎カ譚セ豐シ辟シ辟ヲ辣ァ逾・遘ー邊ァ邏ケ險シ隧ウ雎。蜑ー蝣エ螫「蟶ク譚。迥カ逡ウ闥ク隴イ驢ク蝌ア鬟セ諡ュ閨キ濶イ隗ヲ霎ア蟆サ莨ク菫。萓オ蟇ゥ謖ッ譁ー譽ョ豬ク豺ア逕ウ邏ウ閾」闃ッ阮ェ隕ェ險コ霄ォ騾イ莠コ蟆ス髯」驟「蝗ウ蜷ケ蟶・謗ィ豌エ逹。陦ー謨ー譫「謐ョ陬セ蟇ク轢ャ譏ッ蛻カ蜍「諤ァ謾ソ謨エ譎エ豁」迚イ邊セ螢ー陬ス隘ソ髫サ蟶ュ譁・遏ウ邵セ雋ャ襍、霍。謗・險ュ隱ャ髮ェ邨カ螳」謌ヲ鄒ィ閻コ闊ケ阮ヲ隧ョ霍オ驕ク驕キ驫ュ魄ョ貍ク辟カ蜈ィ閹ウ謗ェ譖ス險エ髦サ驕。蜒ァ蜑オ蝟ェ螢ョ辷ス螻、諠ウ謖ソ譌ゥ譖ケ蟾」讒ス辯・逞ゥ逶ク闡ャ阯サ襍ー驕ュ阡オ蛛エ蜊ウ諱ッ貂ャ雜ウ蟄ォ螟ェ豎ー蜚セ螯・諠ー蟇セ蟶ッ謌エ譖ソ豕ー雋ク騾ョ莉」蜿ー螟ァ隨ャ豐「豼ッ隲セ螂ェ閼ア隹キ隱ー荳ケ謗「譌ヲ豺。轤ュ遏ュ遶ッ邯サ蝗」蠑セ譁ュ谿オ逕キ蛟、遏・蝨ー諱・逞エ鄂ョ閾エ遶ケ遘ゥ闌カ雖。荳ュ莉イ謚ス譏シ譟ア豕ィ陌ォ陦キ驪ウ雋ッ蟶ウ蠑オ蠖ォ蠕エ諛イ貎ョ逕コ逵コ閨エ閼ケ閻ク隱ソ霍ウ髟キ魑・逶エ骼ョ髯ウ豢・霑ス貍ャ貎ー蝮ェ辷ェ驥」鮓エ莠ュ蛛オ蝣、蠎ュ蟒キ謚オ隲ヲ驍ク豕・謨オ貊エ驕ゥ貅コ蜩イ蠕ケ謦、霑ュ蜈ク螟ゥ豺サ雋シ霆「轤ケ谿ソ逕ー髮サ螯ャ貂。逋サ雉ュ驛ス蜉ェ蠎ヲ螂エ蜀ャ蟲カ謔シ謳ュ譚ア貉ッ轣ッ邨ア蛻ー阯、髯カ鬆ュ鬨ー諞ァ迸ウ遶・閭エ蛹ソ蠕ウ迚ケ逹」遽、迢ャ隱ュ蜃ク螻ッ驍」髮」蟆シ陌ケ譌・荵ウ蜈・蟆ソ莉サ蟇ァ迪ォ辭ア蟷エ蠢オ謐サ謔ゥ閭ス閼ウ霎イ豕「豢セ遐エ鄂オ鬥ャ菫ウ譚ッ閧コ霈ゥ蝓ケ雋キ螢イ髯ェ莨ッ逋ス闊カ霑ォ鮗ヲ邂ア邂ク蜈ォ驩「逋コ鬮ェ鄂ー髢・莨エ蛻、謳ャ譚ソ豌セ迥ッ迴ュ闊ャ阯ゥ雋ゥ辣ゥ鬟ッ譎ゥ逡ェ逶、陋ョ蜷ヲ蠖シ謔イ謇ケ謚ォ逍イ逧ョ鄂キ閧・陲ォ雋サ驕ソ蟆セ蠕ョ鮠サ蛹ケ蟋ォ逋セ菫オ豌キ逾ィ陦ィ雋ァ鬆サ逑カ螟ォ蟀ヲ謇カ謨キ譎ョ豬ョ辷カ隨ヲ雉ヲ襍エ萓ョ豁ヲ驛ィ鬚ィ蜑ッ蠕ゥ閻ケ豐ク迚ゥ蝎エ蠅ウ諞、螂ョ髮ー菴オ蜈オ蟷」蟷ウ荳ヲ阡ス邀ウ蛻・邱ィ霎コ萓ソ豁ゥ證ョ邁ソ蛟」菫ク蝣ア蟲ー蟠ゥ謚ア謾セ譁ケ豕。遐イ邵ォ闃ウ險ェ驍ヲ鬟ス莠。螯ィ蟶ス謌ソ證エ邏。閧ェ閹ィ雋ソ髦イ蠅ィ謦イ譛エ迚ァ逹ヲ豐。譛ャ鄙サ蜃。鞫ゥ逎ィ鮗サ螯ケ譏ァ謚ケ譛ォ郢ュ諷「貍ォ蜻ウ譛ェ蟯ャ螟「辟。髴ァ蟀ソ蜀・蜻ス霑キ魑エ邯ソ髱「鮗コ讓。逶イ邯イ譛ィ逶ョ謌サ蜀カ蠑・遏「蠖ケ阮ャ險ウ譟ウ豐ケ隲ュ霈ク蜚ッ蜆ェ蟷ス貉ァ迪カ逕ア驛オ蟷シ螳ケ蠎ク謠コ貅カ逕ィ遯ッ隰。髯ス谺イ豬エ鄙シ陬ク譚・鬆シ髮キ邨。關ス驟ェ荵ア蜊オ豼ォ隕ァ蛻ゥ螻・譴ィ逞「髮「髯ク逡・遑ォ萓カ諷ョ荳。蟇ョ豸シ迸ュ邉ァ濶ッ髯オ蛟ォ閾ィ霈ェ髫」邏ッ莉、蜀キ蜉ア遉シ驤エ髫キ髮カ鮨「證ヲ豁エ蜉」邱エ騾」骭ャ霍ッ髴イ蜉エ讌シ豬ェ蜈ュ骭イ隧ア

となります。Shift_JISとして使用できる範囲内のため、文字としては正常に表示されますが、日本語の文章としてはおかしくなります。

例えばをUTF-8で表現するとE3-82-A6となりますが、これをShift_JISのE3-82(繧)+A6(ヲ)と解釈できてしまうためです。上述の通り、ひらがな、カタカナ、漢字をUTF-8で表現するとE5-9C-A7のような3バイトになりますが、この場合、Shift_JISの2バイト表現の漢字1バイト表現の半角カナの組み合わせと認識する可能性があり、

  • UTF-8のひらがな、カタカナの約半数
  • UTF-8の常用漢字の約半数

はShift_JISと誤認します。そのためShift_JISか判断する場合は「半角カナは文字とみなさない」などの処理が必要になります。

EUC-JPについて

文字を1~3バイトで表現します。
euc-jp.png

文字 バイト数 1バイト目 2バイト目 3バイト目
ASCIIコード 1 00-7F - -
2バイト表現文字 2 8E,A1-A8,AD,B0-FE A1-FE -
3バイト表現文字 3 8F A1-FE A1-FE
内訳)かな 2 A4,A5 A1-F4
   常用漢字 2 B0-EE A1-FE

参考)

ISO-2022-jp

エスケープシーケンスで判定できるため、未確認です。

参考)

バイナリの確認方法

例えば、UTF-8のテキストファイルの中身が

utf8n.txt
あいうえお

の場合、バイナリとしては下記のようになります。

E3 81 82 E3 81 84 E3 81 86 E3 81 88 E3 81 8A

テキストファイルに限らず、ファイルをバイナリとして確認したい場合は、PowerShellのFormat-Hexで確認できます。

PS C:\work> Format-Hex .\utf8n.txt


           パス: C:\work\utf8n.txt

           00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000   E3 81 82 E3 81 84 E3 81 86 E3 81 88 E3 81 8A

以下は各文字コードでのあいうえおです。1文字の繋がりが分るように-を挿入して記載しています。

//あいうえお

//UTF8
E3-81-82 E3-81-84 E3-81-86 E3-81-88 E3-81-8A

//UTF8 with BOM
EF BB BF E3-81-82 E3-81-84 E3-81-86 E3-81-88 E3-81-8A

//ISO-2022-JP
1B 24 42 24-22 24-24 24-26 24-28 24-2A

//Shift_JIS
82-A0 82-A2 82-A4 82-A6 82-A8

//EUC-JP
A4-A2 A4-A4 A4-A6 A4-A8 A4-AA

複数の文字についてまとめて確認したい場合は、

ConsoleApp.cs
//C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc ConsoleApp.cs
using System;
using System.IO;
using System.Text;

namespace ConsoleApp
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //確認したい文字
            string kana = "ァアあィぃイいゥぅウうヴェエえォオおカかガがキきギぎクくグぐケけゲげコこゴごサさザざシしジじスすズずセせゼぜソそゾぞタたダだチちヂぢツつヅづテてデでトとドどナなニにヌぬネねノのハはバばパぱヒひビびピぴフふブぶプぷヘへベべペぺホほボぼポぽマまミみムむメめモもャゃヤやュゅユゆョょヨよラらリりルるレれロろワわヲをンん";
            string joyo_kanji = "亜哀愛挨悪握圧扱宛安暗案闇以位依偉囲委威尉意慰易椅為畏異移維緯胃萎衣違遺医井域育一壱逸稲茨芋印咽員因姻引飲淫院陰隠韻右宇羽雨臼渦唄浦運雲餌営影映栄永泳英衛詠鋭液疫益駅悦謁越閲円園宴延怨援沿演炎煙猿縁艶遠鉛塩汚凹央奥往応押旺横欧殴王翁黄岡沖億屋憶臆乙俺卸恩温穏音下化仮何価佳加可夏嫁家寡科暇果架歌河火禍稼箇花苛荷華菓課貨過蚊我牙画芽賀雅餓介会解回塊壊快怪悔懐戒拐改械海灰界皆絵開階貝劾外害崖慨概涯蓋街該骸垣柿嚇各拡格核殻獲確穫覚角較郭閣隔革学岳楽額顎掛潟割喝括活渇滑葛褐轄且株釜鎌刈瓦乾冠寒刊勘勧巻喚堪完官寛干幹患感慣憾換敢棺款歓汗漢環甘監看管簡緩缶肝艦観貫還鑑間閑関陥韓館丸含岸玩眼岩頑顔願企伎危喜器基奇寄岐希幾忌揮机旗既期棋棄機帰気汽畿祈季紀規記貴起軌輝飢騎鬼亀偽儀宜戯技擬欺犠疑義議菊吉喫詰却客脚虐逆丘久休及吸宮弓急救朽求泣球究窮級糾給旧牛去居巨拒拠挙虚許距漁魚享京供競共凶協叫境峡強恐恭挟教橋況狂狭矯胸脅興郷鏡響驚仰凝暁業局曲極玉僅勤均巾錦斤琴禁筋緊菌襟謹近金吟銀九句区苦駆駒具愚虞空偶遇隅串屈掘窟靴熊繰桑勲君薫訓群軍郡係傾刑兄啓型契形径恵慶憩掲携敬景渓稽系経継茎蛍計詣警軽鶏芸迎鯨劇撃激隙桁傑欠決潔穴結血月件倹健兼券剣圏堅嫌建憲懸拳検権犬献研絹県肩見謙賢軒遣鍵険顕験元原厳幻弦減源玄現舷言限個古呼固孤己庫弧戸故枯湖股虎誇雇顧鼓五互午呉娯後御悟碁語誤護乞交侯候光公功効勾厚口向后喉坑好孔孝工巧幸広康恒慌抗拘控攻更校梗構江洪港溝甲皇硬稿紅絞綱耕考肯航荒行衡講貢購郊酵鉱鋼降項香高剛号合拷豪克刻告国穀酷黒獄腰骨込頃今困墾婚恨懇昆根混痕紺魂佐唆左差査沙砂詐鎖座挫債催再最塞妻宰彩才採栽歳済災采砕祭斎細菜裁載際剤在材罪財坂阪咲崎埼作削搾昨柵策索錯桜冊刷察拶撮擦札殺雑皿三傘参山惨散桟産算蚕賛酸斬暫残仕伺使刺司史嗣四士始姉姿子市師志思指支施旨枝止死氏祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治璽磁示耳自辞鹿式識軸七叱執失嫉室湿漆疾質実芝舎写射捨赦斜煮社者謝車遮蛇邪借尺爵酌釈若寂弱主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹需囚収周宗就州修愁拾秀秋終習臭舟衆襲蹴週酬集醜住充十従柔汁渋獣縦重銃叔宿淑祝縮粛塾熟出術述俊春瞬准循旬殉準潤盾純巡遵順処初所暑庶緒署書諸助叙女序徐除傷償勝匠升召商唱奨宵将小少尚床彰承抄招掌昇昭晶松沼消渉焼焦照症省硝礁祥称章笑粧紹肖衝訟証詔詳象賞鐘障上丈乗冗剰城場壌嬢常情条浄状畳蒸譲醸錠嘱飾拭植殖織職色触食辱尻伸信侵唇娠寝審心慎振新森浸深申真神紳臣芯薪親診身辛進針震人仁刃尋甚尽腎迅陣須酢図吹垂帥推水炊睡粋衰遂酔随髄崇数枢据杉裾澄寸世瀬畝是凄制勢姓征性成政整星晴正清牲生盛精聖声製西誠誓請逝醒青静斉税隻席惜戚斥昔析石積籍績脊責赤跡切拙接摂折設窃節説雪絶舌仙先千占宣専川戦扇栓泉浅洗染潜煎旋線繊羨腺船薦詮践選遷銭鮮前善漸然全禅繕膳塑措曽狙疎礎祖租粗素組訴阻遡僧創双倉喪壮奏爽層想捜掃挿操早曹巣槽燥争痩相窓総草荘葬藻装走送遭霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖存孫尊損村遜他多太汰唾堕妥惰打駄体堆対耐帯待怠態戴替泰滞胎袋貸退逮隊代台大第題滝卓宅択拓沢濯託濁諾但達奪脱棚谷誰丹単嘆担探旦淡炭短端綻胆誕鍛団壇弾断暖段男談値知地恥池痴稚置致遅築畜竹蓄逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷酎鋳駐著貯丁兆帳庁弔張彫徴懲挑朝潮町眺聴腸調超跳長頂鳥勅捗直朕沈珍賃鎮陳津墜椎追痛通塚漬潰坪爪釣鶴亭低停偵貞呈堤定帝底庭廷弟抵提程締艇訂諦逓邸泥摘敵滴的笛適溺哲徹撤迭鉄典填天展店添貼転点伝殿田電吐塗妬徒斗渡登賭途都努度土奴怒倒党冬凍刀唐塔島悼投搭東桃棟盗湯灯当痘等答筒糖統到藤討謄豆踏逃透陶頭騰闘働動同堂導憧洞瞳童胴道銅峠匿得徳特督篤毒独読栃凸突届屯豚頓曇鈍奈那内謎鍋縄南軟難二尼弐匂肉虹日乳入如尿任妊忍認寧猫熱年念捻燃粘悩濃納能脳農把覇波派破婆罵馬俳廃拝排敗杯背肺輩配倍培媒梅買売賠陪伯剥博拍泊白舶薄迫漠爆縛麦箱箸肌畑八鉢発髪伐罰抜閥伴判半反帆搬斑板氾汎版犯班畔繁般藩販範煩頒飯晩番盤蛮卑否妃彼悲扉批披比泌疲皮碑秘罷肥被費避非飛備尾微眉美鼻匹膝肘必筆姫媛百俵標氷漂票表評描病秒苗品浜貧賓頻敏瓶不付夫婦富布府怖扶敷普浮父符腐膚譜負賦赴阜附侮武舞部封風伏副復幅服福腹複覆払沸仏物分噴墳憤奮粉紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米壁癖別蔑偏変片編辺返遍便勉弁保舗捕歩補穂募墓慕暮母簿倣俸包報奉宝峰崩抱放方法泡砲縫胞芳蜂褒訪豊邦飽乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿防頬北僕墨撲朴牧睦勃没堀奔本翻凡盆摩磨魔麻埋妹昧枚毎幕膜枕又抹末繭万慢満漫味未魅岬密蜜脈妙民眠務夢無矛霧婿娘冥名命明盟迷銘鳴滅免綿面麺模茂妄毛猛盲網耗木黙目餅戻問紋門冶夜野弥矢厄役約薬訳躍柳愉油癒諭輸唯優勇友幽悠憂有湧猶由裕誘遊郵雄融夕予余与誉預幼妖容庸揚揺擁曜様洋溶用窯羊葉要謡踊陽養抑欲沃浴翌翼羅裸来頼雷絡落酪乱卵嵐欄濫藍覧利吏履梨理璃痢裏里離陸律率立略流留硫粒隆竜侶慮旅虜了僚両寮料涼猟療瞭糧良量陵領力緑倫厘林臨輪隣瑠塁涙累類令例冷励礼鈴隷零霊麗齢暦歴列劣烈裂廉恋練連錬呂炉賂路露労廊弄朗楼浪漏老郎六麓録論和話賄脇惑枠湾腕丼傲刹哺喩嗅嘲毀彙恣惧慄憬拉摯曖楷鬱璧瘍箋籠緻羞訃諧貪踪辣錮";

            //確認したい文字コード
            Encoding encoding = Encoding.GetEncoding(932);

            //文字とバイナリを比較出力
            for (int i = 0; i < kana.Length; i++)
            {
                string w = kana.Substring(i, 1);
                Console.WriteLine(w + "\t" + BitConverter.ToString(encoding.GetBytes(w)));
            }

            for (int i = 0; i < joyo_kanji.Length; i++)
            {
                string w = joyo_kanji.Substring(i, 1);
                Console.WriteLine(w + "\t" + BitConverter.ToString(encoding.GetBytes(w)));
            }
        }
    }
}
//ァ	83-40
//ア	83-41
//あ	82-A0
//ィ	83-42
//・・・

0
0
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
0
0