文字コード の変更点

Last-modified:
  • 追加された行はこの色です。
  • 削除された行はこの色です。
  • 文字コード へ行く。

*一覧 [#ka6634e9]
|文字セット(文字集合)|符号化方式|C言語の型|文字列リテラル|概要|h
|シングルバイト文字(SBCS)|ASCII(7bit)|char|なし|1文字を1byteで表す符号化方式|
|~|ISO-8859(8bit)|~|~|~|
|ダブルバイト文字(DBCS)|-|char|なし|1文字を2byteで表す符号化方式|
|マルチバイト文字(MBCS)&br;JIS X 0208|Shift_JIS|char|なし|1文字を1〜2byte以上で表す符号化方式&br;上記シングルとダブルを含んだ文字セット|
|~|EUC-JP|~|~|~|
|~|ISO-2022-JP|~|~|~|
|Unicode&br;ISO/IEC 10646|UTF-8|char|u8"utf-8 string"|1文字を1〜6byteで表す符号化方式|
|~|UTF-16|char16_t|u"utf-16 string"|1文字を2〜4byteで表す符号化方式|
|~|UTF-32|char32_t|U"utf-32 string"|1文字を4byteで表す符号化方式|
|ワイド文字|UTF-16(Windows)|wchar_t|L"wide char"|UTF-16の項を参照|
|~|UTF-32(Linux/Mac)|wchar_t|L"wide char"|UTF-32の項を参照|

-規格上、wchar_tの内部表現はUnicodeである必要はない
しかしWindowsではUTF-16、LinuxではUTF-32を用いている

*SJISとEUC [#y10f658c]
-SJISとEUCは1~2byteで構成されるがエンディアンという考え方はない
バイトストリームを先頭から1byteずつ読んで処理するのみ

*リンク [#ta8b60f7]
-[[WikiPedia:文字集合>http://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E9%9B%86%E5%90%88]]
-[[WikiPedia:文字符号化方式>http://ja.wikipedia.org/wiki/%E6%96%87%E5%AD%97%E7%AC%A6%E5%8F%B7%E5%8C%96%E6%96%B9%E5%BC%8F]]
-[[WikiPedia:マルチバイト文字>http://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%90%E3%82%A4%E3%83%88%E6%96%87%E5%AD%97]]
-[[WikiPedia:ワイド文字>http://ja.wikipedia.org/wiki/%E3%83%AF%E3%82%A4%E3%83%89%E6%96%87%E5%AD%97]]
-[[WikiPedia:Unicode>http://ja.wikipedia.org/wiki/UTF]]
-[[WikiPedia:ISO 10646>http://ja.wikipedia.org/wiki/ISO_10646]]

*UTF8 [#o17dd27e]
-http://www.jpcert.or.jp/sc-rules/c-msc10-c.html
-http://www.unicode.org/versions/Unicode6.3.0/ch03.pdf
-http://homepage1.nifty.com/nomenclator/unicode/ucs_utf.htm
-http://gihyo.jp/admin/serial/01/charcode/0004
-http://fallabs.com/blog-ja/promenade.cgi?id=137
-http://bjoern.hoehrmann.de/utf-8/decoder/dfa/
-http://www.opensource.apple.com/source/tidy/tidy-5/tidy/src/utf8.c
-http://tidy.sourceforge.net/cgi-bin/lxr/source/src/utf8.c
-http://www.cprogramming.com/tutorial/utf8.c
-http://stackoverflow.com/questions/5117393/utf-8-strings-length-in-linux-c
-http://stackoverflow.com/questions/1031645/how-to-detect-utf-8-in-plain-c

-http://charset.uic.jp/show/euc-jp/
-http://charset.7jp.net/euc.html
-http://charset.7jp.net/sjis.html