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
)