4D v14.3TEXT TO BLOB |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
TEXT TO BLOB
|
TEXT TO BLOB ( text ; BLOB {; textFormat {; offset | *}} ) | ||||||||
引数 | 型 | 説明 | ||||||
text | 文字 |
![]() |
BLOBに書き込むテキスト | |||||
BLOB | BLOB |
![]() |
テキストを受け取るBLOB | |||||
textFormat | 倍長整数 |
![]() |
テキストのフォーマットと文字セット | |||||
offset | * | 変数, 演算子 |
![]() |
BLOB内のオフセット (バイト単位) または値を追加する場合 * | |||||
![]() |
*でない場合、書き込み後の新しいオフセット | |||||||
TEXT TO BLOBコマンドはテキスト値 textをBLOB blobに書き込みます。
textFormat 引数を使用して、書き込むテキスト値の内部フォーマットと文字セットを指定できます。これを行うには、BLOBテーマの以下の定数のうちいずれかをtextFormat 引数に渡します:
定数 | 型 | 値 |
Mac C string | 倍長整数 | 0 |
Mac Pascal string | 倍長整数 | 1 |
Mac text with length | 倍長整数 | 2 |
Mac text without length | 倍長整数 | 3 |
UTF8 C string | 倍長整数 | 4 |
UTF8 text with length | 倍長整数 | 5 |
UTF8 text without length | 倍長整数 | 6 |
Notes:
これらのフォーマットについて説明します:
テキストフォーマット | 説明と例題 | |
C string | テキストはNULL文字 (ASCIIコード $00)で終了する | |
UTF8 | "" --> $00 | |
"Café" --> $43 61 66 C3 A9 00 | ||
Mac | "" --> $00 | |
"Café" --> $43 61 66 8E 00 | ||
Pascal string | テキストの前に1バイトのテキスト長が置かれる | |
UTF8 | - | |
- | ||
Mac | "" --> $00 | |
"Café" --> $04 43 61 66 8E | ||
Text with length | テキストの前に4バイト (UTF8) または2バイト (Mac) のテキスト長が置かれる | |
UTF8 | "" --> $00 00 00 00 | |
"Café" --> $00 00 00 05 43 61 66 C3 A9 | ||
Mac | "" --> $00 00 | |
"Café" --> $00 04 43 61 66 8E | ||
Text without length | テキストはその文字だけで構成される | |
UTF8 | "" --> データなし | |
"Café" --> $43 61 66 C3 A9 | ||
Mac | "" --> データなし | |
"Café" --> $43 61 66 8E |
オプションの * 引数を渡すと、テキストはBLOBの最後に追加され、BLOBサイズはそれに従い拡張されます。オプションの * 引数を使用することで、BLOBがメモリに収まる限り、整数, 倍長整数, 実数 あるいは テキスト値 (他のBLOBコマンド参照) をBLOBに連続して格納できます。
オプション引数 * やoffset変数引数を指定しない場合、テキストはBLOBの最初に格納され、それ以前の内容を上書きします。これに合わせてBLOBのサイズも調整されます。
offset変数引数を渡した場合、テキストはBLOB内のオフセット(ゼロから開始)に書き込まれます。テキストを書き込む位置に関わらず、BLOBのサイズは渡した位置に従って(必要に応じてさらにテキストのサイズまで)増加します。現在書き込んでいるバイト以外の新しく割り当てられるバイトは、ゼロに初期化されます。
呼び出し後、offset変数引数は、書き込まれたバイト数分だけインクリメントされます。したがって、同じoffset変数引数を別のBLOB書き込みコマンドにも使用し、別の値をBLOBに追加できます。
SET BLOB SIZE(vxBlob;0)
C_TEXT(vtValue)
vtValue:="Cafe" ` vtValue長さは4バイト
TEXT TO BLOB(vtValue;vxBlob;Mac C string) ` BLOBのサイズは5 bytes
TEXT TO BLOB(vtValue;vxBlob;Mac Pascal string) ` BLOBのサイズは5 bytes
TEXT TO BLOB(vtValue;vxBlob;Mac text with length) ` BLOBのサイズは6 bytes
TEXT TO BLOB(vtValue;vxBlob;Mac text without length) ` BLOBのサイズは4 bytes
TEXT TO BLOB(vtValue;vxBlob;UTF8 C string) ` BLOBのサイズは6 bytes
TEXT TO BLOB(vtValue;vxBlob;UTF8 text with length) ` BLOBのサイズは9 bytes
TEXT TO BLOB(vtValue;vxBlob;UTF8 text without length) ` BLOBのサイズは5 bytes
プロダクト: 4D
テーマ: BLOB
番号:
554
変更: 4D v11 SQL
BLOB to integer
BLOB to longint
BLOB to real
BLOB to text
CONVERT FROM TEXT
INTEGER TO BLOB
LONGINT TO BLOB
REAL TO BLOB
Text, UTF8
ランゲージリファレンス ( 4D v11 SQL Release 6)
ランゲージリファレンス ( 4D v12.4)
ランゲージリファレンス ( 4D v14 R2)
ランゲージリファレンス ( 4D v14 R3)
ランゲージリファレンス ( 4D v13.5)
ランゲージリファレンス ( 4D v14.3)
ランゲージリファレンス ( 4D v14 R4)