4D v14.3

TEXT TO BLOB

ホーム

 
4D v14.3
TEXT TO BLOB

TEXT TO BLOB 


 

TEXT TO BLOB ( text ; BLOB {; textFormat {; offset | *}} )  
引数   説明
text  文字 in BLOBに書き込むテキスト
BLOB  BLOB in テキストを受け取るBLOB
textFormat  倍長整数 in テキストのフォーマットと文字セット
offset | *  変数, 演算子 in BLOB内のオフセット (バイト単位) または値を追加する場合 *
in *でない場合、書き込み後の新しいオフセット

説明   

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


textFormat 引数を省略した場合、デフォルトで4DはMac C Stringフォーマットを使用します。4Dバージョン11以降で作成されたデータベースでは、4Dはテキストの処理にデフォルトでUnicode文字セット (UTF-8) を扱います。そのためこの文字セットを利用が推奨されます。

Notes:

  • “UTF8”から始まる定数は、Unicodeモードのアプリケーションでのみ使用できます。
  • “Mac”から始まる定数は、32 KBまでのテキストを扱えます。
  • UTF-8以外の文字セットを使用するにはCONVERT FROM TEXTコマンドを使用します。

これらのフォーマットについて説明します:

テキストフォーマット説明と例題
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

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v11 SQL Release 6)
ランゲージリファレンス ( 4D v12.4)
ランゲージリファレンス ( 4D v14 R2)
ランゲージリファレンス ( 4D v14 R3)
ランゲージリファレンス ( 4D v13.5)
ランゲージリファレンス ( 4D v14.3)
ランゲージリファレンス ( 4D v14 R4)