文字列長.VIの表示する文字の長さが本来の文字数とずれてしまう。



使用ソフトウェア:
使用ソフトウェア・バージョン: 7.0
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: LabVIEW Development Systems>>LabVIEW Full Development System

問題: 私は、文字列長.VIを使用して取得した文字列の長さを使用しています。
半角英語のみのデータでは問題ないのですが、全角英語や日本語などがデータとして出力された際に、文字列の長さの出力が正しくありません。
どうしたらいいのでしょうか。

解決策: 文字列長.VIは、文字列の持っている情報量(バイト)をカウントしています。
通常半角英語や、半角数字は「ASCII」と呼ばれる表記方法を使用しており、一文字あたりのバイト数は「1バイト」です。
一方で、全角文字といったものは、通常「JISコード」といわれるような表記法を使用しており、1文字のバイト数は「2バイト」になります。

バイト数をカウントしている「文字列長.VI」はこの2種類を見分けられません。
このようにして、全角文字文字の分だけ、多くカウントされてしまい、表示される文字数に、ずれが出てきます。

下に添付したVIにおいて、その原理と回避策を提示してあります。
参考にしてください。

関連リンク:

添付:


文字列長の特徴.vi - 文字列長の特徴.vi



報告日時: 09/02/2004
最終更新日: 11/09/2004
ドキュメントID: 3D1MKVFO