« Naro2Mobi ver1.7 | トップページ | ArduinoでIoT »

2018.10.02

Lazarusでの日本語文字コード処理その2

先日の記事について追加情報です。
先日の記事ではCharEncStreamが一番のような表現をしていましたが、この関数とCP932ToUTF8には重大な欠陥があることが判りました。
 
実はこれらの関数では「半角カタカナ」を処理出来ないため、UTF-8からShift-JISコードに変換する時点で半角カタカナ文字が欠落してしまいます。
 
ここからテスト用の文字列です。
 
CharEncStreamとCP932ToUTF8では半角カタカナ文字コードが変換されずに欠落してしまう。
アイウエオカキクケコサシスセソ アイウエオカキクケコサシスセソ
 
CP932ToUTF8・・・半角カタカナが欠落したり文字化けしたりしています
Cp932toutf82
 
 
CharEncStream・・・同じです。
Charencstream2
 
 
WinCPToUTF8
Wincptoutf82
 
 
このように半角カタカナを含むShift-JISコードのテキストを変換する場合、半角カタカナも含めて正しく文字コード変換出来るのはWinCPToUTF8関数だけのようです。
 
 

|

« Naro2Mobi ver1.7 | トップページ | ArduinoでIoT »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: Lazarusでの日本語文字コード処理その2:

« Naro2Mobi ver1.7 | トップページ | ArduinoでIoT »