Shift_JISとCP932の違いを実際の文字で確認
①・髙・𠮷・波ダッシュ・円記号を、strict Shift_JISとCP932の実バイトと再読み込み結果で比較。文字化けと変換不可の違いを具体例で確認できます。
更新: · PitaTool
同じ文字を扱えるとは限りません
PitaToolではCPython由来のshift_jisとcp932の対応表を分けて扱います。①や髙はCP932で保存できますが、strict Shift_JISでは変換できません。𠮷は今回比較するどちらの文字コードでも表せません。
「変換できる」だけでなく「読み戻した文字が同じか」も確認します。文字によってはバイト列にできても、再読み込みで別のUnicode文字になるためです。
ラベル名だけで受け渡し仕様を決めない
Pythonではshift_jisとcp932が別のコーデックとして定義されています。一方、WHATWG EncodingのWeb向けラベル体系ではshift_jisやwindows-31j等が同じShift_JISの名前に対応します。ブラウザの文字コードラベルと、このページのstrict Shift_JISを同一の変換表だと考えないでください。
連携先に「Shift_JIS」としか書かれていない場合は、CP932拡張文字の扱い、使用するソフトやライブラリを確認します。許容範囲が不明なまま姓名を一括置換するより、UTF-8を受け付けるか確認する方法もあります。
具体的な文字・実バイト・再読み込み結果
下表は本站のエンコーダー対応表とデコーダーから生成しています。「変換不可」は対応するバイト列がない状態、「変化」はエンコード可能でも同じ文字に戻らない状態です。表示フォントだけでは判別しにくいためUnicodeも併記しています。
| 文字 | Unicode | strict Shift_JIS bytes | 再読み込み | CP932 bytes | 再読み込み |
|---|---|---|---|---|---|
| ① | U+2460 | 変換不可 | — | 87 40 | 一致 |
| 髙 | U+9AD9 | 変換不可 | — | EE E0 | 一致 |
| 𠮷 | U+20BB7 | 変換不可 | — | 変換不可 | — |
| 〜 | U+301C | 81 60 | 一致 | 81 60 | ~ (U+FF5E)へ変化 |
| ~ | U+FF5E | 変換不可 | — | 81 60 | 一致 |
| ¥ | U+00A5 | 5C | \ (U+005C)へ変化 | 変換不可 | — |
| \ | U+005C | 5C | 一致 | 5C | 一致 |
この表は変化が起こる例も示すため、生の対応バイトを表示しています。本站の保存用コンバーターは往復不一致を検出すると保存を中止します。バイト値が表にあることは、安全に同じ文字を保存できるという保証ではありません。
同じ入力で確認する手順
①髙𠮷〜~¥\- 上の文字列を互換性チェックに貼り付けます。
- Unicode、実バイト、CP932とstrict Shift_JISの対応を比較します。
- 受け渡し先の仕様に合う形式を選び、保存したファイルを再読み込みして同じ文字か確認します。
氏名や正式名称の置換は別の判断です
髙を高に、𠮷を吉に置き換えると、提出可能でも正式表記が変わる場合があります。候補は修正の提案にとどめ、本人情報・業務ルール・提出先に確認します。CP932で保存できても、そのフォームが許可する文字とは限りません。
文字化けと変換不可は分けて調べる
ファイルのバイト列を誤った文字コードで読む問題と、出力先に対応文字がない問題は異なります。まず正しい本文を読み込み、その後で出力形式を選びます。BOMの付け外しだけではCP932とUTF-8の変換はできません。
ツールで確認する
文字コード互換性チェックを使う →関連する解決ガイド
参考資料・検証の前提
具体例は各項目に示す条件に基づきます。ソフトの版や受け渡し先の仕様も確認してください。