LeftB

文字列の先頭(左端)から指定したバイト数の文字列を返したり、バイト列の先頭(左端)から指定したバイト数のバイト列を返します。

■入力/出力

接続数: 最小 1/最大 2
入力データ型説明
入力1Binary,Stringデータ
入力2Integer存在する場合、取り出すバイト数プロパティを置換

出力データ型説明
出力1Binary,String入力の先頭から切り出したデータ

■プロパティ

名前プロパティ型説明
取り出すバイト数int左端から取得するバイト数を指定します。
0の場合、長さ0のバイト列を返します。
入力のデータより大きい値の場合、データ全体を返します。

■備考

■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は、それぞれ操作をした後にできるバイト列に対して、出力としてバイト列のままだすのか、文字列に直して出力するのか選ぶことができます。バイト列の場合には、そのまま出力とし、文字列ならばバイト列が指定のエンコーディングでのバイト列とみなし文字列に直します。

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

■例

プロパティ出力
入力10x82A082A282A4取り出すバイト数20x82A0