と問題を提起して終わっているのですが……その条件なら、 Shift_JIS-2004 (シフト JIS の JIS X 0213 版) でよいと思います。 JIS X 0213 の文字が全部使えて、しかも 1 文字 2 バイト以内です。 (ただし、当然ながら 1 文字 2 バイト以内を堅持しようと思ったら今後文字を増やす場所があまりありません。)
ITpro の記事の著者が存在を知らないだけ? JIS の規格票にも書かれている符号化方式なのですが。僕が何か勘違いをしている? (その可能性は高いです。)
UTF-8で十分なわけないじゃん (スコア:5, 参考になる)
いろいろな需要があるからいろいろな文字集合とその符号化方式があるのです。べつに昔との互換性だけが存在理由ではありません (もしそうならどうして 2004 年になって JIS X 0213 の改訂なんかしているのか)。
ITpro の記事では、日本語文字列を扱うための符号化方式として、
という比較をして、
と問題を提起して終わっているのですが……その条件なら、 Shift_JIS-2004 (シフト JIS の JIS X 0213 版) でよいと思います。 JIS X 0213 の文字が全部使えて、しかも 1 文字 2 バイト以内です。 (ただし、当然ながら 1 文字 2 バイト以内を堅持しようと思ったら今後文字を増やす場所があまりありません。)
ITpro の記事の著者が存在を知らないだけ? JIS の規格票にも書かれている符号化方式なのですが。僕が何か勘違いをしている? (その可能性は高いです。)
僕は 1 文字 2 バイト以内であることが重要になるようなギリギリの世界でプログラムを書く予定はないので、日本語以外も扱える UTF-8 や UTF-16 で十分です (UTF-16 は Windows のネイティブの符号化方式なので使います。それがなければ UTF-8 だけで十分)。でも、僕の需要だけ満たしてくれても駄目で、世の中にはいろいろな需要があるので、すべてが UTF-8 になるわけがありません。日本語の文字だけ表せればよくて、その代わり UTF-8 や UTF-16 では駄目なくらいデータ長に厳しい制約が課せられる状況では、 Shift_JIS-2004 が適任だし、そんな状況はありえなくはないでしょう (珍しいとは思いますが)。
Re:UTF-8で十分なわけないじゃん (スコア:2, 参考になる)
業務上では外字を利用している場合もあり、この場合Shift_JIS-2004 では外字領域を潰して文字を割り振っている点により互換性が失われるところが致命的です。
# 1 バイト 32bit 位にしてあげれば 2 バイトに収まるよ(w
Re:UTF-8で十分なわけないじゃん (スコア:1)
知りませんでした。情報ありがとうございます。
見事な発想の転換! 1 バイトにでも収まりそうです。