tensorflow:: ops:: UnicodeTranscode
#include <string_ops.h>入力テキストをソースエンコーディングから宛先エンコーディングにトランスコードします。
まとめ
入力は任意の形状の文字列テンソルです。出力は、変換された文字列を含む同じ形状の文字列テンソルです。出力文字列は常に有効なUnicodeです。入力に無効なエンコード位置が含まれている場合、 errors属性でそれらの処理方法を設定します。デフォルトのエラー処理ポリシーが使用される場合、出力では無効な書式がreplacement_charに置き換えられます。errorsポリシーがignoreの場合、入力内の無効なエンコード位置はスキップされ、出力には含まれません。strict strict設定されている場合、無効な書式はすべてInvalidArgumentエラーになります。
この操作は、 output_encoding = input_encodingと組み合わせて使用することで、入力が既に目的のエンコーディングになっている場合でも、入力に対して正しいフォーマットを強制することができます。
入力にエンコーディングを決定するために必要なバイトオーダーマーク(BOM)がプレフィックスとして付加されている場合(例えば、エンコーディングがUTF-16でBOMがビッグエンディアンを示している場合)、そのBOMは消費され、出力には出力されません。入力エンコーディングに明示的なエンディアン指定(例えばUTF-16-BE)がある場合、BOMは改行なしスペースとして解釈され、出力に保持されます(UTF-8の場合も常に保持されます)。
結果として、入力が明示的なエンディアンとして指定されている場合、トランスコーディングはソース内のすべてのコードポイントに忠実になります。明示的なエンディアンが指定されていない場合、BOMは文字列自体の一部ではなくメタデータとして扱われるため、出力には保持されません。
議論:
- スコープ:スコープオブジェクト
- 入力:処理対象のテキスト。形式は問いません。
- 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」を指定すると、入力内の無効な書式は無視され、対応する出力文字は生成されません。 - replacement_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
公的機能
UnicodeTranscode
UnicodeTranscode( const ::tensorflow::Scope & scope, ::tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding )
UnicodeTranscode
UnicodeTranscode( const ::tensorflow::Scope & scope, ::tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding, const UnicodeTranscode::Attrs & attrs )
ノード
::tensorflow::Node * node() const
operator::tensorflow::Input
operator::tensorflow::Input() const
operator::tensorflow::Output
operator::tensorflow::Output() const
パブリック静的関数
エラー
Attrs Errors( StringPiece x )
制御文字を置換
Attrs ReplaceControlCharacters( bool x )
交換用Char
Attrs ReplacementChar( int64 x )