텐서플로우:: ops:: 유니코드트랜코드
#include <string_ops.h>입력 텍스트를 소스 인코딩에서 대상 인코딩으로 변환합니다.
요약
입력은 임의의 형태를 가진 문자열 텐서입니다. 출력은 변환된 문자열을 포함하는 동일한 형태의 문자열 텐서입니다. 출력 문자열은 항상 유효한 유니코드입니다. 입력에 유효하지 않은 인코딩 위치가 포함된 경우, errors 속성은 해당 위치를 처리하는 정책을 설정합니다. 기본 오류 처리 정책을 사용하는 경우, 유효하지 않은 형식은 출력에서 replacement_char 로 대체됩니다. errors 정책이 ignore 로 설정된 경우, 입력의 유효하지 않은 인코딩 위치는 건너뛰고 출력에 포함되지 않습니다. strict 로 설정된 경우, 유효하지 않은 형식은 모두 InvalidArgument 오류를 발생시킵니다.
이 연산은 output_encoding = input_encoding 과 함께 사용하여 입력값이 이미 원하는 인코딩으로 되어 있더라도 올바른 형식을 유지하도록 강제할 수 있습니다.
입력에 인코딩을 결정하는 데 필요한 바이트 순서 표시(BOM)가 앞에 붙어 있는 경우(예: 인코딩이 UTF-16이고 BOM이 빅 엔디안을 나타내는 경우), 해당 BOM은 그대로 사용되고 출력에는 포함되지 않습니다. 입력 인코딩에 엔디안이 명시적으로 표시된 경우(예: UTF-16-BE), BOM은 줄 바꿈 방지 공백으로 해석되어 출력에 그대로 유지됩니다(UTF-8의 경우에도 항상 유지됨).
결과적으로 입력에 명시적인 엔디안이 표시되어 있으면 트랜스코딩은 소스의 모든 코드포인트를 충실하게 유지합니다. 명시적인 엔디안이 표시되어 있지 않으면 BOM은 문자열 자체의 일부가 아니라 메타데이터로 간주되어 출력에 보존되지 않습니다.
예시:
tf.strings.unicode_transcode(["Hello", "TensorFlow", "2.x"], "UTF-8", "UTF-16-BE")
논거:
- 범위: Scope 객체
- 입력: 처리할 텍스트입니다. 어떤 형태든 가능합니다.
- 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바이트 대체 문자를 사용하면 원본 바이트와의 정렬이 유지됩니다.
- replace_control_characters: C0 제어 문자(00-1F)를
replacement_char로 바꿀지 여부. 기본값은 false입니다.
보고:
-
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 )
ReplaceControlCharacters
Attrs ReplaceControlCharacters( bool x )
교체 차트
Attrs ReplacementChar( int64 x )