텐서플로우:: 작전:: 유니코드트랜스코드

#include <string_ops.h>

입력 텍스트를 소스 인코딩에서 대상 인코딩으로 트랜스코딩합니다.

요약

입력은 모든 형태의 문자열 텐서입니다. 출력은 트랜스코딩된 문자열을 포함하는 동일한 모양의 문자열 텐서입니다. 출력 문자열은 항상 유효한 유니코드입니다. 입력에 잘못된 인코딩 위치가 포함된 경우 errors 속성은 이를 처리하는 방법에 대한 정책을 설정합니다. 기본 오류 처리 정책을 사용하는 경우 출력에서 ​​잘못된 형식이 replacement_char 로 대체됩니다. 오류 정책이 ignore 하는 경우 입력의 잘못된 인코딩 위치는 모두 건너뛰고 출력에 포함되지 않습니다. strict 로 설정하면 잘못된 형식으로 인해 InvalidArgument 오류가 발생합니다.

이 작업은 output_encoding = input_encoding 과 함께 사용하여 입력이 이미 원하는 인코딩에 있는 경우에도 입력에 대한 올바른 형식을 적용할 수 있습니다.

인코딩을 결정하는 데 필요한 바이트 순서 표시가 입력 앞에 붙는 경우(예: 인코딩이 UTF-16이고 BOM이 빅엔디안을 나타내는 경우) 해당 BOM은 소비되고 출력으로 내보내지지 않습니다. 입력 인코딩이 명시적인 엔디안(예: UTF-16-BE)으로 표시된 경우 BOM은 줄바꿈 없는 공백으로 해석되어 출력에 보존됩니다(UTF-8의 경우 항상 포함).

최종 결과는 입력이 명시적 엔디안으로 표시되면 트랜스코딩이 소스의 모든 코드 포인트에 충실하다는 것입니다. 명시적인 엔디안으로 표시되지 않은 경우 BOM은 문자열 자체의 일부가 아닌 메타데이터로 간주되므로 출력에 보존되지 않습니다.

예:

tf.strings.unicode_transcode(["Hello", "TensorFlow", "2.x"], "UTF-8", "UTF-16-BE") tf.strings.unicode_transcode(["A", "B", "C"], "US ASCII", "UTF-8").numpy() array([b'A', b'B', b' C'], dtype=객체)

인수:

  • 범위: 범위 개체
  • 입력: 처리할 텍스트입니다. 어떤 모양이든 가질 수 있습니다.
  • input_encoding: 입력 문자열의 텍스트 인코딩입니다. 이는 ICU ucnv 알고리즘 변환기가 지원하는 인코딩 중 하나입니다. 예: "UTF-16", "US ASCII", "UTF-8" .
  • output_encoding: 출력에 사용할 유니코드 인코딩입니다. "UTF-8", "UTF-16-BE", "UTF-32-BE" 중 하나여야 합니다. 멀티바이트 인코딩은 빅엔디안입니다.

선택적 속성( Attrs 참조):

  • 오류: 입력에서 잘못된 형식이 발견된 경우 오류 처리 정책입니다. 'strict' 값을 사용하면 잘못된 입력 형식에 대해 작업에서 InvalidArgument 오류가 생성됩니다. 'replace' 값(기본값)을 사용하면 작업이 입력의 잘못된 형식을 replacement_char 코드 포인트로 대체합니다. 'ignore' 값을 사용하면 작업이 입력에서 잘못된 형식을 건너뛰고 해당 출력 문자가 생성되지 않습니다.
  • replacement_char: errors='replace' 일 때 입력의 유효하지 않은 형식화 대신 사용할 대체 문자 코드 포인트입니다. 유효한 유니코드 코드 포인트를 사용할 수 있습니다. 기본값은 기본 유니코드 대체 문자가 0xFFFD 또는 U+65533입니다.)

UTF-8의 경우 ' '와 같이 1바이트로 표현 가능한 대체 문자를 전달하면 잘못된 바이트가 1바이트 대체 문자로 대체되므로 소스에 대한 문자열 정렬이 유지됩니다. UTF-16-BE 및 UTF-16-LE의 경우 1바이트 또는 2바이트 대체 문자는 소스에 대한 바이트 정렬을 유지합니다.

  • replacement_control_characters: C0 제어 문자(00-1F)를 replacement_char 로 바꿀지 여부입니다. 기본값은 거짓입니다.

보고:

  • Output : output_encoding 사용하여 인코딩된 유니코드 텍스트를 포함하는 문자열 텐서입니다.

생성자와 소멸자

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)

구조체

텐서플로우:: ops:: UnicodeTranscode:: Attrs

UnicodeTranscode 에 대한 선택적 속성 설정자입니다.

공개 속성

작업

Operation operation

산출

::tensorflow::Output output

공공 기능

유니코드트랜스코드

 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
)

마디

::tensorflow::Node * node() const 

연산자::텐서플로우::입력

 operator::tensorflow::Input() const 

연산자::텐서플로우::출력

 operator::tensorflow::Output() const 

공개 정적 함수

오류

Attrs Errors(
  StringPiece x
)

ControlCharacters 교체

Attrs ReplaceControlCharacters(
  bool x
)

교체문자

Attrs ReplacementChar(
  int64 x
)