はじめに
文字コード とは!
私は「コンピュータがデータ処理をする際、文字(キャラクタ)を表示・処理するために割り当てられた、0~9、A~F で構成されたコード」だと認識しています。
しかし、文字コードは、コンピュータやアプリケーションごとに異なる体系が使用されています。
そのため、異なるコンピュータやアプリケーション間でデータをやり取りする際には、データに含まれる文字コードを適切に変換する必要が生じる場合があります。
って訳ですが。ここで注意すべきことは。
文字コードで1文字を表す場合のバイト数は、文字コード毎に異なる
ってことです。
文字コードを見比べる
以下に、DataMagic で扱える文字を16進数表示して貼り付けてみました。
2バイト文字 / マルチバイト文字
私たちがコンピュータ上で文字を書く際の「全角文字」のこと。
今回はひらがなの「あいう」3文字を、テキストファイルに並べて書くと、どれだけのバイト数が必要かを一覧にしてみました。
| 文字コード | 文字表示 |
|---|---|
| SHIFT-JIS | ![]() |
| EUC | ![]() |
| UTF-16 BOMあり |
![]() |
| UTF-16 BOMなし |
![]() |
| UTF-8 BOMあり |
![]() |
| UTF-8 BOMなし |
![]() |
| JIS | ![]() |
| JEF | ![]() |
| IBM漢字 | ![]() |
| KEIS | ![]() |
| NEC漢字 | ![]() |
文字コードに因っては、2バイト文字と呼んでいるのに、文字表現には3バイト必要だったり、〝ファイルの先頭〟や〝文字の前後〟に制御コードが必要だったりします。
JEF から NEC漢字までの 主に汎用機やオフコン上で使用される、全角文字の前後に付いている制御コードは、OSによって表現(呼び方)が異なります。正しい表現をしたかったのですが、マニュアル検索が容易では無かったので、DataMagic で使用してる〝シフトコード〟に表現を統一しました。
1バイト文字 / シングルバイト文字 / ASCII / EBCDIC
私たちがコンピュータ上で文字を書く際の「半角文字」のこと。
今回は、半角で表現した数字の「1」英大文字の「A」カタカナの「ア」記号の「%」4文字を、テキストファイルに並べて書くと、どれだけのバイト数が必要かを一覧にしてみました。
| 文字コード | 文字表示 |
|---|---|
| SHIFT-JIS | ![]() |
| EUC | ![]() |
| UTF-16 BOMあり |
![]() |
| UTF-16 BOMなし |
![]() |
| UTF-8 BOMあり |
![]() |
| UTF-8 BOMなし |
![]() |
| JIS | ![]() |
| EBCDIC | ![]() |
文字コードに因っては、1バイト文字と呼んでいるのに、文字表現には、複数バイト必要だったり、〝ファイルの先頭〟や〝文字の前後〟に制御コードが必要だったりします。
文字コードを変換する場合は、文字表現にどれだけのバイト数が必要も、しっかり調べましょう![]()
今回のサンプルは「全角」「半角」を別々にしましたが、混在する場合はどうなるのかなど、しっかり調べて設計しないと、データベースに出力する際、桁あふれになって文字の後ろが欠けてしまう場合も有るのでご注意を。
以上です。




















