テンソルフロー::作戦:: Unicodeトランスコード
#include <string_ops.h>
入力テキストをソース エンコーディングから宛先エンコーディングにトランスコードします。
まとめ
入力は、任意の形状の文字列テンソルです。出力は、トランスコードされた文字列を含む同じ形状の文字列テンソルです。出力文字列は常に有効な Unicode です。入力に無効なエンコード位置が含まれている場合、 errors
属性によってそれらの処理方法のポリシーが設定されます。デフォルトのエラー処理ポリシーが使用されている場合、出力では無効な書式設定がreplacement_char
によって置き換えられます。エラー ポリシーがignore
場合、入力内の無効なエンコード位置はスキップされ、出力には含まれません。 strict
に設定すると、無効な書式設定があると InvalidArgument エラーが発生します。
この操作を、 output_encoding = input_encoding
とともに使用すると、入力がすでに目的のエンコーディングになっている場合でも、入力の正しいフォーマットを適用できます。
エンコーディングを決定するために必要なバイト オーダー マークが入力にプレフィックスとして付けられている場合 (たとえば、エンコーディングが UTF-16 で BOM がビッグ エンディアンを示している場合)、その BOM は消費され、出力には出力されません。入力エンコーディングが明示的なエンディアン (UTF-16-BE など) でマークされている場合、BOM は非改行スペースとして解釈され、出力に保存されます (UTF-8 の場合も含む)。
最終結果として、入力が明示的なエンディアンとしてマークされている場合、トランスコーディングはソース内のすべてのコードポイントに忠実になります。明示的なエンディアンでマークされていない場合、BOM は文字列自体の一部ではなくメタデータとみなされ、出力には保存されません。
引数:
- スコープ:スコープオブジェクト
- input: 処理されるテキスト。任意の形状にすることができます。
- input_encoding: 入力文字列のテキスト エンコーディング。これは、ICU ucnv アルゴリズム コンバーターでサポートされているエンコーディングのいずれかです。例:
"UTF-16", "US ASCII", "UTF-8"
。 - Output_encoding: 出力で使用する Unicode エンコーディング。
"UTF-8", "UTF-16-BE", "UTF-32-BE"
のいずれかである必要があります。マルチバイトエンコーディングはビッグエンディアンになります。
オプションの属性 ( Attrs
を参照):
- エラー: 入力に無効な形式が見つかった場合のエラー処理ポリシー。 'strict' の値を指定すると、無効な入力形式に対して操作で InvalidArgument エラーが生成されます。値「replace」(デフォルト) を指定すると、入力内の無効な書式設定が
replacement_char
コードポイントで置き換えられます。値が「ignore」の場合、操作では入力内の無効な書式設定がスキップされ、対応する出力文字は生成されません。 - replace_char:
errors='replace'
の場合、入力内の無効な書式設定の代わりに使用される置換文字コードポイント。任意の有効な Unicode コードポイントを使用できます。デフォルト値は、デフォルトの Unicode 置換文字 0xFFFD または U+65533 です。)
UTF-8 の場合、「 」などの 1 バイトで表現可能な置換文字を渡すと、無効なバイトが 1 バイトの置換文字に置き換えられるため、ソースとの文字列の位置合わせが維持されることに注意してください。 UTF-16-BE および UTF-16-LE の場合、1 バイトまたは 2 バイトの置換文字はソースへのバイト アラインメントを保持します。
- replace_control_characters: C0 制御文字 (00-1F) を
replacement_char
に置き換えるかどうか。デフォルトは false です。
戻り値:
-
Output
:output_encoding
を使用してエンコードされた Unicode テキストを含む文字列テンソル。
コンストラクターとデストラクター | |
---|---|
UnicodeTranscode (const :: tensorflow::Scope & scope, :: tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding) | |
UnicodeTranscode (const :: tensorflow::Scope & scope, :: tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding, const UnicodeTranscode::Attrs & attrs) |
パブリック属性 | |
---|---|
operation | |
output |
公共機能 | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
パブリック静的関数 | |
---|---|
Errors (StringPiece x) | |
ReplaceControlCharacters (bool x) | |
ReplacementChar (int64 x) |
構造体 | |
---|---|
tensorflow:: ops:: UnicodeTranscode:: Attrs | UnicodeTranscodeのオプションの属性セッター。 |
パブリック属性
手術
Operation operation
出力
::tensorflow::Output output
公共機能
Unicodeトランスコード
UnicodeTranscode( const ::tensorflow::Scope & scope, ::tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding )
Unicodeトランスコード
UnicodeTranscode( const ::tensorflow::Scope & scope, ::tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding, const UnicodeTranscode::Attrs & attrs )
ノード
::tensorflow::Node * node() const
演算子::tensorflow::入力
operator::tensorflow::Input() const
演算子::tensorflow::出力
operator::tensorflow::Output() const
パブリック静的関数
エラー
Attrs Errors( StringPiece x )
制御文字の置換
Attrs ReplaceControlCharacters( bool x )
置換文字
Attrs ReplacementChar( int64 x )