質問させて頂きます。
大きなテキストデータを読み込み、それを画面から操作し
操作した結果を再びテキストデータに保存するプログラムがあります。
プログラム自体は完成しておりますが、Unicodeに対応した方が良いか検討しております。
しかし、良く良く考えると、プログラムを操作せずテキストデータからユーザーに操作も考慮するため
マルチバイト文字の方が、現在良いケースになっています。
無理にUnicodeに対応すると、読み込んだテキストデータを一度Unicodeに変換しなければならないため
そこがオーバーヘッドになってしまいます。
このような場合でも、やはりUnicodeに対応させた方が良いでしょうか?
ソといった\を含む文字なども全て考慮しているため、現状動作には全く問題はありません。
どうぞご教授の程よろしくお願いします。
必要ないと考えます。このケースの場合
1.入力がMBCSである
2.出力がMBCSである
3.高速にかつ大量に画面描画する必要がない
ので、特にUnicodeを使う必要性はありません。
Unicodeは、あくまでプログラム内における、「文字の内部表現」に
過ぎません。OSのSDKが提供する機能を使用する場合には、Unicodeの
方がやや効率がよいというだけで、標準C言語ライブラリのMBCS版を
使用する限り効率の低下はありません。描画時のオーバーヘッドが、
容認できる範囲であるならば、何の修正の必要もないと考えられます。
ただし、いわゆる「環境依存文字」、つまり、Unicodeにしかない
文字は使えないので、仕様でうたっておくべきかもしれません。
>仲澤@失業者さん
レス有難うございます。
やはり無理してUnicode対応する必要はないのですね…
踏ん切りが付きました!
また、再度質問になってしまいますが
>ただし、いわゆる「環境依存文字」、つまり、Unicodeにしかない
>文字は使えないので、仕様でうたっておくべきかもしれません。
Unicodeにしかない依存文字で調べると
http://itpro.nikkeibp.co.jp/article/OPINION/20070312/264548/
のような情報が見つかりましたが、マルチバイトでは
Unicodeの依存文字は、あくまで表示出来ないと事なのでしょうか?
本ケースの場合は、そもそも入力からしてMBCSなので、
「Unicodeにしかない文字」は入ってこないと考えられますので
問題ないともいえます。
ですが、本アプリに先立って何らかの前段の処理があった場合、
そこで作成された「入力用MBCSファイル」では、既に環境依存
文字が全て失われています。この様な明示的でない仕様は、
案外気づきにくく、本アプリを含む全体の仕様見直しにもなり
かねませんので、あえて注意喚起してみました。この問題は、
出力されるMBCSファイルを使用する、後段にもあてはまります。
>仲澤@失業者さん
大変勉強になりました!
度重なる質問に詳しくレスを頂き、本当に有難うございます。
ツイート | ![]() |