encode-characters (プロシージャ)
public {encode-characters
in:String,
out:ByteVec,
character-encoding:CharEncoding,
in-start:int = 0,
in-end:int = in.size,
out-start:int = out.size,
out-end:int = out.max-size
}:(in-used:int, out-made:int)
パッケージ: CURL.LANGUAGE.STRINGS

文字列を byte の配列に変換します。

プログラミング注意事項

in に対しては文字列を設定し、out に対しては、バイトを受け取るための配列を設定します。

エンコードする文字が String ではなく CharVec の中にある場合、character-encoding に対して CharEncoding.encode-characters を使う方法を検討してください。

戻り値

入力配列からエンコードされた文字数、および、出力配列に書き込まれたバイト数。

注意事項

戻り値が予想に反してゼロであった場合は、in から少なくとも 1 文字を入手できるか確認してください。さらに、文字をエンコードするだけのバイト数分のスペースが out にあるか確認してください。
in: エンコード元の文字が格納される配列。この配列が空の場合、文字はエンコードされません。
out: バイトが格納される配列。この配列がすべてデータで埋まっている場合、バイトは付加されません。
character-encoding: 実行するエンコーディングの種類。この値は、任意の CharEncoding です。ただし、CharEncoding.none-specified および CharEncoding.ucs2-unknown-endian は除きます。
in-start: 入力配列内におけるエンコード対象の先頭文字のインデックス。指定しない場合の既定値は 0 です。
in-end: 入力配列内におけるエンコード対象の末尾文字の直後のインデックス。指定しない場合、既定値は文字の現在の末尾 (in.size) です。
out-start: 出力配列内における、エンコードされたバイト列が格納される先頭バイトのインデックス。指定しない場合、既定値は配列の現在の末尾 (out.size) です。
out-end: 出力配列内において、エンコードされたバイトが格納される末尾バイトの直後のインデックス。指定しない場合、既定値は出力配列を拡張できる上限の位置 (out.max-size) です。