本文へスキップ
筑北村
メニュークローズボタン
ASSIST

閲覧支援

文字サイズ
小さく 標準 大きく
ふりがな
ふりがなをつける
読み上げ
読み上げる
背景色
閉じる

半角カタカナ&機種依存文字について

ページ公開日:2025年10月23日

半角カタカナ・機種依存文字

半角カタカナに関しては総務省は

 ユーザーのインターネット利用環境は様々です。ウェブサイトの制作者は、ユーザーが使用する端末の機種やOSなどの違いに依らず、ページ内容が正しく表示されるように制作しなければなりません。そこで今回は、多様な利用環境に配慮したテキストの使用方法について解説します。 対策方法 ポイント1 半角カタカナを使用しない 半角カタカナを使用するとブラウザ上で文字化けをおこす可能性があります。その為、全角の漢字、ひらがな、カタカナ、英数と半角の英数を使用しましょう。

こんなふうに書いています。
https://www.soumu.go.jp/soutsu/tokai/siensaku/accessibility/L3_text1.html

以下の機種依存文字はShift-JISを文字コードとして使っている場合です。 

ローマ数字

以下代表的な機種依存文字

丸数字

丸数字

右下に点の付く数字

右下に点の付く数字

かっこ付き文字

かっこ付き文字

トランプ絵文字

トランプ絵文字

学術記号

学術記号

濁点付き文字

濁点付き文字

かっこ付き数字

かっこ付き数字

ローマ数字

ローマ数字

手型の矢印、左右2組セットの矢印、上下2組セットの矢印、太い矢印

手型の矢印

ナンバーやtelなどの省略文字、丸付き文字、年号の省略文字

ナンバーやtelなど

単位文字

単位文字

インターネットが普及し始めた当時、日本語の文字コードが、JIS、Shift-JIS、EUC、ユニコードとあり、Windowsが採用していたShift-JISで書かれたページが、ワークステーションのOSのUNIXで使われていた文字コードのEUC-JP、MacのShift-JIS、UTF-8では文字が化けるということがありました。(MacOSが漢字Talkと呼ばれていた頃の漢字コードは6.0.xまではShift-JISで、7.1からユニコード(UTF-8)になった) ※ワークステーションはメールサーバ、Webサーバーなどサーバーに多く使われいる。 文字化けを解消するために、文字変換を行うためのプロキシーサーバーというものもありました。

現在では、Webページ(ホームページ)はUTF-8体系を使っているなら、半角文字や機種依存文字を使っても文字化けに関しては問題ありませんが、デザイン的にどうなのかと思います。

文字色々.png

どちらが見やすいですか?

漢字コードについて

コンピューターの内部では文字を数値として扱っています。アルファベットのAという文字は16進数で0x41(10進数だと65、0xはC言語やPerlでの16進数の表記法)が割り当てられています。アルファベット、数字、記号だけなら7ビットで表現できます。(アルファベット大文字、小文字で26×2、数字10、記号が31、改行、バックスペース、デリートなどの特殊文字(印刷できないが、いろいろな用途で使われる)が32あります。合計で125=7ビットです。

ASCII

ASCII(American Standard Code for Information Interchangeの略)1963年に現在のANSIが制定した、7ビット文字集合です。1967年の改定で現在の定義となりました。

ASCIIコード表
  上位4ビット


4


  0 1 2 3 4 5 6 7
0 NUL DLE SP 0 @ P ` p
1 SOH DC1 ! 1 A Q a q
2 STX DC2 " 2 B R b r
3 ETX DC3 # 3 C S c s
4 EOT DC4 $ 4 D T d t
5 ENQ NAK % 5 E U f u
6 ACK SYN & 6 F V e v
7 BEL ETB ' 7 G W g w
8 BS CAN ( 8 H X h x
9 HT EM ) 9 I Y i y
A LF SUB * : J Z j z
B VT ESC + ; K [ k {
C NP FS , < L ?\ l |
D CR GS - = M ] m }
E SO RS . > N ^ n ~
F SI US / ? O _ o DEL

※赤字は制御文字(印刷されない)BS:バックスペース HT:ホリゾンタルタブ(水平タブ)DEL:デリート SP:半角スペースなど

ISO/IEC 646(ASCIIの国際規格)

ASCIIの規約を取り込みながら、1967年にISOが制定した国際規格です。

ISO/IEC 646
  上位4ビット


4


  0 1 2 3 4 5 6 7
0 NULL DLE SP 0 @ P ` p
1 SOH DC1 ! 1 A Q a q
2 STX DC2 " 2 B R b r
3 ETX DC3 # 3 C S c s
4 EOT DC4 $ 4 D T d t
5 ENQ NAC % 5 E U e u
6 ACK SYN & 6 F V f v
7 BEL ETB ' 7 G W g w
8 BS CAN ( 8 H X h x
9 HT EM ) 9 I Y i y
A LF SUB * : J Z j z
B VT ESC + ; K [ k {
C FF FS , < L ¥ l |
D CR GS - = M ] m }
E SO RS . > N ^ n ~
F SI US / ? O _ o DEL

Shift-JISに関連した符号化方式には以下があります。

Shift-JIS
符号化方式 説明
MS漢字コード
(CP932)
マイクロソフトが1982年に定めた文字コード。JIS C 6226-1798で定義される文字集合を、
半角カタカナが使用する0xA1~0xDF、およびDEL(0x7F)の領域を避けるように巧みにシフ
トさせたもの。ただし、未使用の領域に各社が独自文字を割り当て、「NEC版CP932」や
「IBM版CP932」が現れるなど、混乱が生じていた
Windows-3.1J
(MS932)
マイクロソフトが1993年に定めた文字コード。上記混乱を収拾するために各社独自の実装の
内、広く使用されているものだけを仕様に取り込み、以後各社独自の実装を禁止したもの。
JIS X 0208をベースとし、13区に83字の「NEC特殊文字」を89~92区に374字の「NEC選
定IBM拡張文字」を、115~119区に388字の「IBM拡張文字」を追加しています。
Shift-JISX02013 JIS Xn0213に対応したもの
Shift-JIS-2004 JIS X 0213:2004の改定に対応したもの

色付きの部分は推奨文字で各言語で別の文字を割り当ててもよいと規定されました。

JIS X 0201(半角英数・半角カナ)

ISO/IEC 646を日本向けにカスタマイズし、1969年にJISが制定されました。ASCIIとの違いは以下の色付きの部分バックスラッシュ(\)が円記号(\)にチルダ(~)がオーバーライン(‾)になっているところが相違点です。また、8ビット空間を用いて半角カタカナを定義しています。

JIS X 021
  上位4ビット


4


  0 1 2 3 4 5 6 7 8 9 A B C D E F
0 NUL DLE SP 0 @ P ` p          
1 SOH DC1 ! 1 A Q a q        
2 STX DC2 " 2 B R b r        
3 ETX DC3 # 3 C S c s        
4 EOT DC4 $ 4 D T d t        
5 ENQ NAK % 5 E U f u        
6 ACK SYN & 6 F V e v        
7 BEL ETB ' 7 G W g w        
8 BS CAN ( 8 H X h x        
9 HT EM ) 9 I Y i y        
A LF SUB * : J Z j z        
B VT ESC + ; K [ k {        
C NP FS , < L \ l |        
D CR GS - = M ] m }        
E SO RS . > N ^ n        
F SI US / ? O _ o DEL        

ISO-2022-JP(JISコード)

電子メール(E-mail)で使う符号化方式です。俗にいうJISコード。EUCで始まるエスケープシーケンスで、その後に続く文字集合を指定します。E-mailで文字化けするのは漢字コードが違っている、半角カタカナを使っている、絵文字を使っている等様々です。

ISO-202-JP
A B C (漢字) (ASCII) X Y Z
41 42 43 1B 24 42 24 22 24  24 24 26 1B 28 42 58 59 5A

エスケープシーケンスには下記があります。

エスケープシーケンス
規格 記号表記 16進表記 意味
ISO-2022-JP ESC ( B 1B 28 42 ASCII
ESC ( J 1B 28 4A JIS X 6220(JIS X 0201)-1976 ラテン文字集合
ESC $ @ 1B 24  40 JIS C 6226(JIS X 0208)-1978(通称:旧JIS)
ESC $ B 1B 24 42 JIS X 0208-1983(通称:新JIS) または JIS X 0208-1990
ISO-2022-JP-1で追加 ESC $ ( D 1B 24 28 44 JIS X 0212-1990(JIS補助漢字)
ISO-2022-JP-2で追加 ESC $ A 1B 24 41 GB 2312-80(中国語)
ESC $ ( C 1B 24 28 43 KS X 1001-1992(韓国語)
ESC . A 1B 2E 41 ISO/IEC 8859-1 の右半分
ESC . F 1B 2E 46 ISO/IEC 8859-7 の右半分
ISO-2022-JP-3で追加 ESC $ ( O 1B 24 28 4F JIS X 0213:2000の1面
ESC $ ( P 1B 24 28 50 JIS X 0213:2000の2面
ISO-2022-JP-2004 ESC $ ( Q 1B 24 28 51 JIS X 0213:2004の1面
ISO-IR 013 ESC ( I 1B 28 49 JIS X 0201(半角カナ) ... 一部のソフトでのみ利用

ISO-2022-JPに類似した符号化方式

ISO-2022-JPに類似した符号化方式
規格 説明
CP50220 Microsoftによる規格 ISO-2022-JPのWindows 3.1J版。半角カナをJIS x 0208 の全角カタカナに変換して表します。
CP50221 CP50220と類似していますが、半角カナをESC ( Iでエスケープして表します。
CP50222 CP50220と類似していますが、SO(0X1E)で半角カナの始まり、SI(0x0F)で終わりを示します。
ISO-2022-JP-MS Linux陣営が規定した独自規格。半角カナはESC ( I、外字をESC $ ( Iでエスケープします。

EUC-JP

Extended UNIX Code Packed Format for Japaneseの略。UNIX/Linux系のシステムで使用される符号化方式です。ASCIIとJIS X 0208(漢字)、JIS X 0201(半角カナ)を扱います。(JIS X 0208は説明していませんのでリンクをたどってください。)

Shift-JIS

Windows系で使用される符号化方式です。JIS X 0208の附属書で「シフト符号化表現」という名称で定義されています。半角文字(制御文字・英数記号・半角カナ)はJIS X 0201の文字をそのまま使用し、全角文字は1バイト目をJIS X 0201で未使用の0x81~0x9F、0xE0~0xEF、2バイト目を0x40~0x7E、0x80~0xFCの領域に計算式でシフトして符号化します。俗に言う「MS漢字コード」MicrosoftがMS-DOSなどで日本語を8ビット環境でも使えるようにシフトさせたことからShift-JISと呼ばれています。また、Microsoftが独自に拡張した文字が含まれています。Windowsなどで採用されたWindowsで広く使われるMS932という形式。Windows11はUTF-8を採用しています。

Shift-JIS
規格 説明
CP50220 Microsoftによる規格 ISO-2022-JPのWindows 3.1J版。半角カナをJIS x 0208 の全角カタカナに変換して表します。
CP50221 CP50220と類似していますが、半角カナをESC ( Iでエスケープして表します。
CP50222 CP50220と類似していますが、SO(0X1E)で半角カナの始まり、SI(0x0F)で終わりを示します。
ISO-2022-JP-MS Linux陣営が規定した独自規格。半角カナはESC ( I、外字をESC $ ( Iでエスケープします。
2バイト文字
A B C
41 42 43 82 A0 82  A2 82 A4 B1 B2 B3

文字の割当は以下のようになります。

文字の割当
1バイト目 2バイト目 説明
0x0~0x1F 制御文字
0x20~0x7E 英数記号文字
0x7F 制御文字(DEL)
0x81~0x9F 0x40~0x7E、0x80~0xFC JIS X 0213(1面:前半)
0xA1~0xDF 半角カナ
0xE0~0xEF 0x40~0x7E、0x80~0xFC JIS X 0213(1面:後半)
0XF0~0xFC 0x40~0x7E、0x80~0xFC JIS X 0213(2面)

Unicode

世界中の文字を1つのコード体系で表現しようとして制定されたものです。日本で定義された文字も取り込まれていますが、CJK(中国語・日本語・韓国語)で字形の似たものを統一するなどしています。Unicode文字の一覧

UTF-8

Unicode体系で一番利用されている符号化方式です。ASCII文字を1バイトで表現できるように、U+007Fまでの文字は1バトで、U+07FFまでの文字は2バイト、U+FFFF前の文字は3バイト、U+10000~U+10FFFFの文字は、本来のUTFF-8では4バイトに変換していますが、一部のシステムでは6バイトに変換することもあります。(サロケートペア(CESU-8)といいますが、難しいので説明は省略します。UTF-8ではほとんどサロケートペアは使わなくても表現できます。)
※U+xxxxxのUは16進数であることを表します。

UNI Code
範囲 ビット数 変換元ビット 変換後ビット
U+0000~U+007F 7bits 0xxxxxxx 0xxxxxxx
(00-7F)
U+0080~U+07FF 11bits 00000yyy xxxxxxxx 110yyyxx 10xxxxxx
(C0-DF)  (80-BF)
U+0800~U+FFFF 16bits yyyyyyyy xxxxxxxx 1110yyyy 10yyyyxx 10xxxxxx
(E0-EF)  (80-BF)  (80-BF)
U+10000~U+10FFFF
(本来のUTF-8方式)
21bits zzzzz yyyyyyyy xxxxxxxx 11110zzz 10zzyyyy 10yyyyxx 10xxxxxx
(F0-F7)  (80-BF)  (80-BF)  (80-BF)
U+10000~U+10FFFF
(CESU-8方式 サロケートペア)
21bits zzzzz yyyyyyyy xxxxxxxx
↓ (wwww = zzzzz-1)
High:110110ww wwyyyyyy
Low: 110111yy xxxxxxxx
High:11101101 1010wwww 10yyyyyy
(CD)     (A0-AF)  (80-BF)
Low: 11101101 1011yyxx 10xxxxxx
(CD)     (B0-BF)  (80-BF)

※UTF-8とUTF-8N
UTF-8NはBOMなしのUTF-8。BOMとはByte Oder Markの略でUnicodeで符号化したテキストの先頭に付与される数バイトのデータ(UTF-8の場合:0xEF 0xBB 0xBFのs3バイト)です。

Webページ(ホームページ)で使用されるHTMLファイルはBOM無しで保存・上書きするほうが良いとされています。(BOM付きだと正常に処理できないことがあるからです。詳細は略します。興味がある方は検索してみてください。)

UTF-16、UTF-32

詳しく説明しませんが、UTF-16は16ビットで表現します。21ビットはサロケートペアを用います。UTF-32はUnicodeで定義されるすべての文字を32ビットで表現します。メモリ効率が良くないのであまり使われていません

※サロケートペア:2バイトで定義された基本多言語面に含まれない拡張領域の文字を、2バイトのバイト列二つを組み合わせて、計4バイトで表す。

バイトオーダー

16ビットや32ビットの値をファイルやネットワークに書き出す際に、上位バイトから書き出す方式(ビッグエンディアン BE)と下位バイトから書き出す方式(リトルエンディアン LE)があります。例えば「あ(U+3042)」をUTF-16で符号化し、ビッグエンディアンで書き出すと 0x30 0x42の順になります。リトルエンディアンで書き出すと 0x42 0x30の順になります。

ネットワークではビッグエンディアンが使われています。ファイルではWindows系が x86系CPUが効率的にあつかえるリトルエンディアンが主流となっています。UTF-8にはバイトオーダーの概念はありません。

BOM(バイトオーダーマーク)

UTF-16やUTF-32のバイトオーダーを示すために、ファイルの先頭にオプションとして付加する、数バイトのデータです。

バイトオーダー
符号化方式 BOMの有無 エンディアン BOM 備考
UTF-8 省略可 0xEF 0xBB 0xBF UTF-8 にはエンディアンの概念が無いがつけることがある。
UTF-8N 無し   BOM無しの UTF-8 を UTF-8N と呼ぶ。
UTF-16 省略可 BE 0xFE 0xFF 省略時はビッグエンディアン推奨。
LE 0xFF 0xFE  
UTF-16BE 無し BE   利用者間で予め合意しておく。
UTF-16LE 無し LE   利用者間で予め合意しておく。
UTF-32 省略可 BE 0x00 0x00 0xFE 0xFF 省略時はビッグエンディアン推奨。
LE 0xFF 0xFE 0x00 0x00  
UTF-32BE 無し BE   利用者間で予め合意しておく。
UTF-32LE 無し LE   利用者間で予め合意しておく。

Windows11になって、文字コードがUTF-8になったのであまり文字化けすることはなくなりましたが、半角カタカナには十分注意してください。

この情報は役に立ちましたか?

お寄せいただいた評価は運営の参考といたします。

このページの内容は役に立ちましたか?※必須入力
このページの内容は分かりやすかったですか?※必須入力
このページの情報は見つけやすかったですか?※必須入力
ホーム記事半角カタカナ&機種依存文字について