[1] 
[DFN[多バイト符号]]は、
複数バイトで構成される[[符号]]です。


[2] 
[[文字コード]]について言うときは、[[シフトJIS]]型の[[符号]]を指すことが多いです。
より広い意味で、[[多バイト]]で表される任意の[[文字コード]]を指すこともあります。

[FIG(short list)[ [3] [DFN[シフトJIS型符号]]
- [[シフトJIS]]各種
- [[Big5]]
- [[GBK]], [[GB 18030]]
- [[UHC]]
- [[組合型]]

]FIG]

[11] 関連: [[94[SUP[[VAR[n]]]]集合]], [[フォント依存符号化]]


[4] 
[[シフトJIS]]型[[符号]]は第1バイトが特定の値だと第2バイトが続く、
1バイトと2バイトの混合[[符号]]です。
(3バイト以上の[[符号]]も持つものもあります。)
具体的には各項を参照。

[12] 
[[多バイト]]の[[符号]]でも [[UTF-8]] や [[UTF-16]] のようなものは[[多バイト符号]]に入れたり入れなかったりします。
入れない方が多いでしょうか。

[13] 
[[多バイト]]になることがある[[符号]]でも、
[[文字合成]]に関するものや[[インド系文字の文字コード]]など、
基本単位が[[1バイト]]の[[符号]]は[[多バイト符号]]に入れません。

-*-*-

[5] 
[[文字列]]を構成するある特定の[[バイト]]を取り出した時、
それが1バイト[[符号]]のように見えても、
2バイト[[符号]]の第2バイトであることがあります。

[6] 1バイト[[符号]]に特別な意味が割り当てられていて、
多バイト符号の第2バイトがたまたまその[[符号]]と一致するとき、
意図せぬ現象が起こることがあります。
そのような[[符号化文字]]を[[日本]]の[[IT業界]]の[[俗語]]で[DFN[ダメ文字]]といいます。

[EG[
[7] 
例えば [N[0x5C]] ([CODE[\]]) が[[エスケープ]]の意味を持つ
[[C言語]]の実装で使う[[プログラム]]に第2バイトが [N[0x5C]] になる[[2バイト文字]]
(例えば[[シフトJIS]]の「表」) 
が混じると困ったことになります。
[SEE[ 関連するようでしないようでする問題: [[円問題]] ]]

>
[PRE[
printf("表\示\n")
]PRE]

]EG]

[8] 今では[[ダメ文字]]現象はまずないので、こんな言葉をまだ使っている人達は[[老人会]]か、
よほど特殊な業界 (古いシステムをメンテナンスし続けている人々など) です。

;; [9] しかし似たような話は今でもあります。
[SEE[ [[国旗絵文字]] ]]

[14] [CITE@ja[:: Shift-JISの文字化けについて | KENT-WEB ::]], [TIME[2025-11-19T14:45:32.000Z]] <https://www.kent-web.com/pubc/garble.html>

[17] 
[CITE[CGIで特定の文字(表・予・申・能など)が文字化けする]], [TIME[2020-08-20T23:49:30.000Z]], [TIME[2025-11-23T06:06:12.530Z]] <https://www.shtml.jp/mojibake/sjis_cgi.html>


- [16] 
[CITE@en[Oh! X 1998年春号 復刊 不屈のパーソナルコンピューティング : SOFTBANK : Free Download, Borrow, and Streaming : Internet Archive]], [TIME[2025-11-23T04:35:03.000Z]] <https://archive.org/details/OhX1998/page/96/mode/2up>
-- [15] 
[CITE@ja[Oh! X 1998年春号 復刊 不屈のパーソナルコンピューティング - Oh_X1998_text.pdf]], [TIME[2024-04-13T10:43:18.000Z]], [TIME[2025-11-23T04:33:13.305Z]] <https://dn790007.ca.archive.org/0/items/OhX1998/Oh_X1998_text.pdf#page=99>


-*-*-

[10] 
[[OpenType]] [CODE[cmap]] には [CODE[format]] [N[2]] があります。
