Unicodeの半角と全角の変換

ここでは、Unicode(BOM付き)のファイルを読み込んで、そのテキスト内にある半角文字を全角文字に変換し、
  1. それをShift_JISファイルにして保存するプログラム(u31.cpp)と、
  2. Unicode(BOM付き)のファイルにして保存するプログラム(u41.cpp)である。
この逆の変換(全角→半角)も同様にできるが省略。

ここで対象にしているのは「文字コード」の変換である。オバカたちの大好きなUTF-8は文字コードではないからこういう所では出番はない。単にエンコードの問題にすぎない。ネットバカ(その99%はエクセルバカ)に言ったところで無駄なことだが。


元のテキスト

この実験に使った元のテキストは次のようなものである。
アルファベットと数字は半角文字である。
2行目には半角カタカナが使われている。



UTF16→Shift_JIS

u31.cppの実行である。


通常の全角カタカナでは濁点の付いた「ザ」であるが、この場合は「サ゛」になっている点に注意。



UTF16→UTF16

u41.cppの実行である。



通常の全角カタカナでは濁点の付いた「ザ」であるが、この場合は「サ゛」になっている点に注意。
なお、この点についてはもう少し簡明な方法(Unicodeテキストの文字単位的処理)がある。








Unicode,UTF-8,UTF-16,Big,Little,Endian,LE,BE,Shift_JIS,SJIS,CR,LF,CRLF,byte,bit,word,CSV,BOM,Encode,Decode,ANSI, バイナリ,テキスト,文字コード,16進コード,文字列,ビッグ,リトル,エンディアン,ユニコード,改行,バイト,ビット, マルチバイト,半角,全角,カタカナ,ひらがな,漢字,エンコード,デコード,16進文字列,C言語,C++言語,変換,解析,判定,判別, _mbslen,_mbsnccnt,_mbsnbcnt,_mbctombb(zentohan),_mbbtombc(hantozen),_mbctohira,_mbctokana,MBCS,char,unsigned, _mbctolower,_mbctoupper,_mbcjistojms,_mbcjmstojis,_mbbtype,_mbsbtype,mbstowcs,wcstombs,mbtowc,wctomb, MultiByteToWideChar,WideCharToMultiByte,