UnicodeからShift_JISは真逆の処理をしてあげれば良い。ただし、UnicodeとShift_JISは完全に可換ではないので、欠損する可能性あり。
タグ : Shift_JIS,UTF-16,Unicode,シフトJIS
2011/02/13 17:32:21 | Trackbacks (0) | Comments (0) | Technology
もう3日くらい文字コードと戯れています。おかげで文字コードにだいぶ詳しくなってきました。
ISO-2022-JPについて
Unicode(UTF-16)について
タグ : ISO-2022-JP,JIS,UTF-16,Unicode,サロゲートペア
2009/11/07 07:28:41 | Trackbacks (0) | Comments (0) | Technology
もう3日くらい文字コードと戯れています。おかげで文字コードにだいぶ詳しくなってきました。
ISO-2022-JPについて
Unicode(UTF-16)について
タグ : ISO-2022-JP,JIS,UTF-16,Unicode,サロゲートペア
2009/11/07 07:28:41 | Trackbacks (0) | Comments (0) | Technology
最近はLazarus使ってFreePascalでプログラム書いているのだけれど、せっかくクラスとか書いたら公開したいなぁと思うわけです。ところで、時代はDelphi 2010なわけで、Delphiで扱う文字列がUnicodeになっているわけです。そこで気にしたいのは、バイト単位で文字列を操作する部分はUnicodeとAnsiどちらでも動くようにするということ。
まぁぶっちゃけるとMIMEの処理を行いたいわけだけど、ISO-2022-JPの文字列をstringに突っ込むとどうなるんだろうとか、Base64のエンコード・デコードをしたときにデータを格納すべき変数のデータ型は?とかが、いろいろ分からないのです。データを全部TStream系とかarra of Byteか何かで処理すれば気にしなくていいんだけれど、そうすると文字列検索なんかが面倒になる。ちなみにIndyとかはarray of ByteをTBytesとして宣言して使っているっぽい。
まぁこんな感じで悶々と考えたわけだけれど、結論としてDelphi 2009以降がないとわからん!ってことであきらめました。とりあえずstringはすべてAnsiStringとして考えておくことにします。
タグ : Base64,Delphi,FreePascal,Lazarus,MIME,Unicode
2009/11/05 03:21:01 | Trackbacks (0) | Comments (0) | Technology