1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【DataMagic】コード変換やってみた!文字コードの変換で注意する事《バイト数》

1
Last updated at Posted at 2026-04-11

はじめに

文字コード とは!

私は「コンピュータがデータ処理をする際、文字(キャラクタ)を表示・処理するために割り当てられた、0~9、A~F で構成されたコード」だと認識しています。

しかし、文字コードは、コンピュータやアプリケーションごとに異なる体系が使用されています。

そのため、異なるコンピュータやアプリケーション間でデータをやり取りする際には、データに含まれる文字コードを適切に変換する必要が生じる場合があります。

って訳ですが。ここで注意すべきことは。

文字コードで1文字を表す場合のバイト数は、文字コード毎に異なる:bangbang:

ってことです。

文字コードを見比べる

以下に、DataMagic で扱える文字を16進数表示して貼り付けてみました。

2バイト文字 / マルチバイト文字

私たちがコンピュータ上で文字を書く際の「全角文字」のこと。

Qiita_034-03.jpg

今回はひらがなの「あいう」3文字を、テキストファイルに並べて書くと、どれだけのバイト数が必要かを一覧にしてみました。

文字コード 文字表示
SHIFT-JIS Qiita_034-01-SJIS.jpg
EUC Qiita_034-01-EUC.jpg
UTF-16
BOMあり
Qiita_034-01-UTF16_BOM.jpg
UTF-16
BOMなし
Qiita_034-01-UTF16.jpg
UTF-8
BOMあり
Qiita_034-01-UTF8_BOM.jpg
UTF-8
BOMなし
Qiita_034-01-UTF8.jpg
JIS Qiita_034-01-JIS.jpg
JEF Qiita_034-01-JEF.jpg
IBM漢字 Qiita_034-01-IBM.jpg
KEIS Qiita_034-01-KEIS.jpg
NEC漢字 Qiita_034-01-NEC.jpg

文字コードに因っては、2バイト文字と呼んでいるのに、文字表現には3バイト必要だったり、〝ファイルの先頭〟や〝文字の前後〟に制御コードが必要だったりします。

:small_blue_diamond: JEF から NEC漢字までの 主に汎用機やオフコン上で使用される、全角文字の前後に付いている制御コードは、OSによって表現(呼び方)が異なります。正しい表現をしたかったのですが、マニュアル検索が容易では無かったので、DataMagic で使用してる〝シフトコード〟に表現を統一しました。

1バイト文字 / シングルバイト文字 / ASCII / EBCDIC

私たちがコンピュータ上で文字を書く際の「半角文字」のこと。

今回は、半角で表現した数字の「1」英大文字の「A」カタカナの「ア」記号の「%」4文字を、テキストファイルに並べて書くと、どれだけのバイト数が必要かを一覧にしてみました。

Qiita_034-04.jpg

文字コード 文字表示
SHIFT-JIS Qiita_034-02-SJIS.jpg
EUC Qiita_034-02-EUC.jpg
UTF-16
BOMあり
Qiita_034-02-UTF16_BOM.jpg
UTF-16
BOMなし
Qiita_034-02-UTF16.jpg
UTF-8
BOMあり
Qiita_034-02-UTF8_BOM.jpg
UTF-8
BOMなし
Qiita_034-02-UTF8.jpg
JIS Qiita_034-02-JIS.jpg
EBCDIC Qiita_034-02-EBCDIC.jpg

文字コードに因っては、1バイト文字と呼んでいるのに、文字表現には、複数バイト必要だったり、〝ファイルの先頭〟や〝文字の前後〟に制御コードが必要だったりします。

文字コードを変換する場合は、文字表現にどれだけのバイト数が必要も、しっかり調べましょう:exclamation:

今回のサンプルは「全角」「半角」を別々にしましたが、混在する場合はどうなるのかなど、しっかり調べて設計しないと、データベースに出力する際、桁あふれになって文字の後ろが欠けてしまう場合も有るのでご注意を。

以上です。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?