tensorflow :: ops :: UnicodeTranscode
#include <string_ops.h>
入力テキストをソースエンコーディングからデスティネーションエンコーディングにトランスコードします。
概要
入力は、任意の形状の文字列テンソルです。出力は、トランスコードされた文字列を含む同じ形状の文字列テンソルです。出力文字列は常に有効なUnicodeです。入力に無効なエンコード位置が含まれている場合、 errors
属性はそれらの処理方法のポリシーを設定します。デフォルトのエラー処理ポリシーが使用されている場合、無効なフォーマットがreplacement_char
によって出力にreplacement_char
ます。エラーポリシーがignore
である場合、入力内の無効なエンコード位置はスキップされ、出力に含まれません。 strict
設定すると、無効なフォーマットはInvalidArgumentエラーになります。
この操作をoutput_encoding = input_encoding
とともに使用すると、入力が既に目的のエンコーディングになっている場合でも、入力に正しいフォーマットを適用できます。
入力の前にエンコーディングを決定するために必要なバイト順マークが付いている場合(たとえば、エンコーディングがUTF-16で、BOMがビッグエンディアンを示している場合)、そのBOMは消費され、出力に出力されません。入力エンコーディングが明示的なエンディアン(UTF-16-BEなど)でマークされている場合、BOMはノーブレークスペースとして解釈され、出力に保持されます(UTF-8の場合を常に含む)。
最終的な結果として、入力が明示的なエンディアンとしてマークされている場合、トランスコーディングはソース内のすべてのコードポイントに忠実です。明示的なエンディアンでマークされていない場合、BOMは文字列自体の一部ではなくメタデータと見なされるため、出力に保持されません。
引数:
- スコープ:スコープオブジェクト
- 入力:処理されるテキスト。どんな形でもかまいません。
- input_encoding:入力文字列のテキストエンコーディング。これは、ICUucnvアルゴリズムコンバーターでサポートされているエンコーディングのいずれかです。例:
"UTF-16", "US ASCII", "UTF-8"
。 - output_encoding:出力で使用するUnicodeエンコーディング。
"UTF-8", "UTF-16-BE", "UTF-32-BE"
いずれかである必要があります。マルチバイトエンコーディングはビッグエンディアンになります。
オプションの属性(参照Attrs
):
- エラー:入力に無効なフォーマットが見つかった場合のエラー処理ポリシー。 'strict'の値により、操作は無効な入力フォーマットに対してInvalidArgumentエラーを生成します。 'replace'(デフォルト)の値により、操作は入力の無効なフォーマットを
replacement_char
コードポイントに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
公の行事
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 )
ReplaceControlCharacters
Attrs ReplaceControlCharacters( bool x )
ReplaceChar
Attrs ReplacementChar( int64 x )