LenB

バイト数を返します。入力がバイト列の場合はそのバイト数を、文字列の場合はプロパティで指定したエンコーディングの元でバイト列に直し、そのバイト数を返します。

■入力/出力

接続数: 1
入力データ型説明
入力1Binary,Stringバイト列か文字列

出力データ型説明
出力1Integer入力データ列のバイト数

■Binary関数での文字列とバイト列の取り扱いについて

文字列"あいうえお"は、それぞれの文字エンコーディングの元でバイト列であらわすと以下のようになります。

shift_jis: 82 A0 82 A2 82 A4 82 A6 82 A8
euc-jp: A4 A2 A4 A4 A4 A6 A4 A8 A4 AA
iso-2022-jp: 1B 24 42 24 22 24 24 24 26 24 28 24 2A 1B 28 42
utf-8: E3 81 82 E3 81 84 E3 81 86 E3 81 88 E3 81 8A

shift_jis/euc-jpは2バイトずつで1文字を表し、utf-8は日本語部分については3バイトずつで1文字を表し、iso-2022-jpにおいてはShiftIn/ShiftOutの3バイトではさみ、2バイトずつで1文字を表しています。

それぞれのバイナリ関数(LeftB/RightB/MidB/ReplaceB/TruncateB)は入力タイプとして、バイト列とそれ以外で種類分けします。バイト列に既になっている場合にはそのまま扱いますが、それ以外の場合は一端文字列に直し(文字列の場合はそのまま)、指定のエンコーディングでバイト列に直します。

LeftB/RightB/MidB/ReplaceB/TruncateBは、それぞれ操作をした後にできるバイト列に対して、出力としてバイト列のままだすのか、文字列に直して出力するのか選ぶことができます。バイト列の場合には、そのまま出力とし、文字列ならばバイト列が指定のエンコーディングでのバイト列とみなし文字列に直します。

それぞれの操作において、いわゆる漢字の泣き別れ状態など、文字列に戻せない状態になると、文字化けが発生する可能性があります。