指定した開始方向から指定した文字数を切り捨てた残り部分を返します。
入力 | データ型 | 説明 |
---|---|---|
入力1 | Binary,String | データ |
入力2 | Integer | 存在する場合、切り捨てるバイト数プロパティを置換 |
出力 | データ型 | 説明 |
---|---|---|
出力1 | Binary,String | 切り出した部分データ |
名前 | プロパティ型 | 説明 | ||||||
---|---|---|---|---|---|---|---|---|
切り捨てる方向 | choice |
開始方向を指定します。
|
||||||
切り捨てるバイト数 | int | 切り捨てる文字数またはバイト数を指定します。開始方向から指定した文字数またはバイト数を切り捨てます。 |
文字列"あいうえお"は、それぞれの文字エンコーディングの元でバイト列であらわすと以下のようになります。
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は、それぞれ操作をした後にできるバイト列に対して、出力としてバイト列のままだすのか、文字列に直して出力するのか選ぶことができます。バイト列の場合には、そのまま出力とし、文字列ならばバイト列が指定のエンコーディングでのバイト列とみなし文字列に直します。
それぞれの操作において、いわゆる漢字の泣き別れ状態など、文字列に戻せない状態になると、文字化けが発生する可能性があります。
プロパティ | 出力 | |||
入力1 | 0x82A082A282A4 | 切り捨てる方向 | 先頭から | 0x82A282A4 |
切り捨てるバイト数 | 2 |