«前の日記(2007年10月17日) 最新 次の日記(2007年10月19日)» 編集

日々をアレコレ


2007年10月18日

文字コード

現在、UTF8を基本とするシステムを開発中。UTF8はコードの中に「\0」が含まれないコードらしいので、strlenでバイト数をカウントできるのは便利。ただ、ASCIIコードは1バイト、その他のコードは2バイトか3バイト、と文字数をカウントするのは難しいようだ。なので、UTF8の文字列バッファは想定される文字数*3+1(最後は「\0」)で可。

ただ、必ずUTF8しか扱わないのであればいいんだけど、可能性としてはShiftJISが混じってくることがある。こっちが問題。2バイトコードに「\0」が含まれてやしないか、というのが現在危惧するところ。UTF8へ変換する場合に、文字数がstrlenでカウントできない可能性があるから。また、逆にUTF8から変換する場合には、末尾に「\0」でいいのか、あるいは、「\0\0」で終わらなきゃいけないのかも問題。文字コードってなんでもっと早く統一できなかったんだろうね。


«前の日記(2007年10月17日) 最新 次の日記(2007年10月19日)» 編集