イソ‐にまるににジェーピー【ISO-2022-JP】
読み方:いそにまるににじぇーぴー
ISO-2022-JP
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/05/04 00:42 UTC 版)
![]() | 出典は列挙するだけでなく、脚注などを用いてどの記述の情報源であるかを明記してください。 |
ISO-2022-JPは、インターネット上(特に電子メール)などで使われる日本の文字用の文字符号化方式(文字コード)。ISO/IEC 2022のエスケープシーケンスを利用して文字集合を切り替える7ビットのコードであることを特徴とする (アナウンス機能のエスケープシーケンスは省略される)。俗に「JISコード」と呼ばれることもある。いずれの2022も、年数ではない。
概要
日本語表記への利用が想定されている文字コードであり、日本語の利用されるネットワークにおいて、日本の規格を応用したものである。また文字集合としては、日本語で用いられる漢字、ひらがな、カタカナはもちろん、ラテン文字、ギリシア文字、キリル文字なども含んでおり、学術や産業の分野での利用も考慮したものとなっている。規格名に、ISOの日本語の言語コードであるja
ではなく、国・地域名コードのJP
が示されているゆえんである。
文字集合としてJIS X 0211のC0集合(制御文字)、JIS X 0201のラテン文字集合、ISO 646の国際基準版図形文字、JIS X 0208の1978年版 (JIS C 6226-1978) と1983年および1990年版が利用できる。JIS X 0201の片仮名文字集合は利用できない。1986年以降、日本の電子メールで用いられてきたJUNETコードを[1]、村井純、Mark CrispinおよびErik van der Poelが1993年にRFC 1468としたもの[2]。後にJIS X 0208:1997の附属書2としてJISに規定された[3]。MIMEにおける文字符号化方式の識別用の名前としてIANAに登録されている[4]。
なお、符号化の仕様についてはISO/IEC 2022#ISO-2022-JPも参照。
類似の符号化方式
「ISO-2022-JP」に類似した符号化方式として以下のようなものがある。なお、一部は MIME で用いる文字符号化方式として IANA が登録している[4]。
- ISO-2022-JP-1
- RFC 2237。ISO-2022-JPを拡張し、ISO-2022-JPの文字集合に加え、JIS X 0212を利用できるようにしたもの。
- ISO-2022-JP-2
- RFC 1554。ISO-2022-JPを拡張し、ISO-2022-JPの文字集合に加え、JIS X 0212、KS X 1001、GB 2312、ISO 8859-1、ISO 8859-7を利用できるようにしたもの。
- ISO-2022-JP-3
- JIS X 0213:2000の附属書2に記述される符号化表現で、ISO-2022-JPの漢字集合をJIS X 0213に変えるなどしたもの。IANA登録簿への登録が提案されたが、RFC 2278(当時。RFC 2978により廃止された)の手続きに従っていない(いっぺんに複数の文字コードを登録する手続きは存在しないのに6つ同時に申請されている)などの理由により却下された[5]。
- ISO-2022-JP-2004
- JIS X 0213:2004の附属書2に記述される符号化表現。ISO-2022-JP-3の漢字をJIS X 0213:2004に改めたもの。IANA登録簿への登録はまだされていない。
ISO-2022-JPと非標準的拡張使用
「JISコード」(または「ISO-2022-JP」)というコード名の規定下では、その仕様通りの使用が求められる。しかし、Windows OS上では、実際にはCP932コード(マイクロソフトによるShift_JISを拡張した亜種。ISO-2022-JP規定外文字が追加されている。)による独自拡張(の文字)を断りなく使うアプリケーションが多い。この例としてInternet ExplorerやOutlook Expressがある。また、EmEditor、秀丸エディタやThunderbirdのようなマイクロソフト以外のWindowsアプリケーションでも同様の場合がある。この場合、ISO-2022-JPの範囲外の文字を使ってしまうと、異なる製品間では未定義不明文字として認識されるか、もしくは文字化けを起こす原因となる。そのため、Windows用の電子メールクライアントであっても独自拡張の文字を使用すると警告を出したり、あえて使えないように制限しているものも存在する。さらにはISO-2022-JPの範囲内であってもCP932は非標準文字(FULLWIDTH TILDE等)を持つので文字化けの原因になり得る。Javaはバージョン6以降で、通常のISO-2022-JP形式の実装のほか、「x-windows-iso2022jp」というコード名でマイクロソフトCP932ベースの拡張ISO-2022-JPに対応している[6]。
また、符号化方式名をISO-2022-JPとしているのに、文字集合としてはJIS X 0212(補助漢字)やJIS X 0201の片仮名文字集合(いわゆる半角カナ)をも符号化している例があるが、ISO-2022-JPではこれらの文字を許容していない。これらの符号化は独自拡張の実装であり、中にはISO/IEC 2022の仕様に準拠すらしていないものもある[7]。従って受信側の電子メールクライアントがこれらの独自拡張に対応していない場合、その文字あるいはその文字を含む行、時にはテキスト全体が文字化けすることがある。
脚注
- ^ 小川貴英「junetの漢字コード ―決定顛末記―」『第28回プログラミング・シンポジウム報告集』、情報処理学会、1987年1月7日、23-32頁。
- ^ Japanese Character Encoding for Internet Messages (英語). June 1993. doi:10.17487/RFC1468. RFC 1468。
- ^ 日本規格協会 (1997年). JIS X 0208:1997 『7ビット及び8ビットの2バイト情報交換用符号化漢字集合』 (7-bit and 8-bit double byte coded Kanji sets for information interchange) 附属書2「RFC 1468 符号化表現」.
- ^ a b “Character Sets” (英語). IANA. 2024年12月22日閲覧。
- ^ Harald Tveit Alvestrand (Fri, 07 Apr 2000 10:41:39 +0200). “Rejection of registration of new Japanese charsets”. ietf-charsets@w3.org Mailing List. 2008年2月2日閲覧。 - ISO-2022-JP-3登録の却下の経緯。
- ^ “サポートされているエンコーディング”. サン・マイクロシステムズ. 2017年5月29日閲覧。
- ^ 森山将之 (1997年6月3日). “JIS X 0201 片仮名”. 2008年2月2日閲覧。
関連項目
参考資料
- J. Murai 他 (1993年6月). RFC 1468 Japanese Character Encoding for Internet Messages (『インターネットメッセージのための日本語文字符号化』).
- M. Ohta 他 (1993年12月). RFC 1554 ISO-2022-JP-2: Multilingual Extension of ISO-2022-JP (『ISO-2022-JP-2: ISO-2022-JPの多言語拡張』).
- K. Tamaru 他 (1997年11月). RFC 2237 Japanese Character Encoding for Internet Messages (『インターネットメッセージのための日本語文字符号化』).
- 日本規格協会 (2000年). JIS X 0213:2000 『7ビット及び8ビットの2バイト情報交換用符号化拡張漢字集合』 (7-bit and 8-bit double byte coded extended Kanji sets for information interchange) 附属書2「ISO-2022-JP-3符号化表現」.
- 日本規格協会 (2004年). JIS X 0213:2000/AMENDMENT 1:2004 『7ビット及び8ビットの2バイト情報交換用符号化拡張漢字集合 (追補1)』 (7-bit and 8-bit double byte coded extended Kanji sets for information interchange (Amendment 1)) 附属書2「ISO-2022-JP-2004符号化表現」.
ISO-2022-JP
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/30 06:03 UTC 版)
「ISO/IEC 2022」の記事における「ISO-2022-JP」の解説
「ISO-2022-JP」も参照 ISO-2022-JPは、日本語の電子メールなどのための符号化表現として広く使われている。このキャラクタセットは、1986年後半ころに、当時のJUNETで、ネットニューズや電子メールで日本語を利用するための符号化の共通仕様として成立し、のちにその仕様は RFC 1468 でInformationalとして発行された。当初は「JISコード」、「JUNETコード」(junet-code) などと呼ばれたが、最終的には同RFCにおいて、MIMEのためのキャラクタセット名としてISO-2022-JPの名称が規定され、後のIANA Character Setsにも収録されている。 ISO/IEC 2022 に準拠した7ビットの符号化表現だが、次のような特徴を持つ。 JIS X 0208が指示(かつ呼び出し)されている状態では、SPACE (空白) や制御文字を使ってはならない。 行末では指示(かつ呼び出し)をASCIIにもどさなければならない。つまり、行末の前に漢字の文字集合が指示されていたら、ASCIIを指示してから改行しなければならない。 JIS X 0208を指示するとき、改訂番号識別のエスケープシーケンスを用いずに1983年版と1990年版のどちらを使ってもよい。 JUNETコードの成立当時、日本語対応端末などの機器には「漢字イン/漢字アウト」理解に基づく動作をするものが複数存在し、JIS X 0208の文字要素並びの途中にSPACE (空白 02/00) や制御文字が現れると正しく処理できなかった。改行の処理についても、行末の制御文字の処理でASCIIにもどってしまうものがあった。こういった機器は、ハードウェアの組込みソフトウェアによって実現されている例も多く、その挙動を修正することはしばしば困難だった。そのため、情報交換当事者間の合意として上記の条件のもと符号化する。 また、ISO/IEC 2022 では、改訂後の文字集合を指示する場合には、指示のエスケープシーケンスの前に改訂番号を識別するエスケープシーケンス (IRR。#表2参照) を置くと定めている。たとえば、JIS X 0208:1990 (JIS X 0208 の1990年版) は JIS C 6226-1983 (同じく1983年版。後に JIS X 0208-1983に改称) の改訂である (漢字2文字が追加されている) ため、1990年版を指示する場合は、指示のエスケープシーケンスの直前に 01/11 02/06 04/00 (ESC & @) を付加する。実際にIRRを使用するかどうかは情報交換の仕様の中で定められる。RFC 1468 では、1990年版を使う場合も IRR の付加をしないことを提案している。 JIS X 0208:1997では、附属書2「RFC1468符号化表現」として ISO-2022-JP をJISの規定としたが、この符号化表現が「ISO/IEC 2022に適合するものではない」と付記している。 ISO-2022-JP は、マルチバイト文字集合を扱うものとしては初のMIME用キャラクタセットであった。これ以降、中国語、朝鮮語、あるいは多言語での利用を想定したマルチバイトのキャラクタセットが、ISO-2022-○○という名称でいくつか提案され、一部はRFC にもなった。これらは、ISO-2022-JP で採用された ISO/IEC 2022 の7ビット符号による符号化方式を踏襲していた。しかしその後、日本語以外の言語では、電子メールなどのキャラクタセットはEUC符号化によるものなどが事実上の標準となっていった。今日、マルチバイトで7ビットのキャラクタセットとして一般的に使われているものは、事実上、日本語用の ISO-2022-JP のみである。
※この「ISO-2022-JP」の解説は、「ISO/IEC 2022」の解説の一部です。
「ISO-2022-JP」を含む「ISO/IEC 2022」の記事については、「ISO/IEC 2022」の概要を参照ください。
- iso-2022-jpのページへのリンク