dòng chảy :: hoạt động :: UnicodeTranscode
#include <string_ops.h>
Chuyển mã văn bản đầu vào từ mã hóa nguồn sang mã hóa đích.
Tóm lược
Đầu vào là một chuỗi có hình dạng bất kỳ. Đầu ra là một tensor chuỗi có cùng hình dạng chứa các chuỗi đã được chuyển mã. Chuỗi đầu ra luôn là unicode hợp lệ. Nếu đầu vào chứa các vị trí mã hóa không hợp lệ, thuộc tính errors
sẽ đặt chính sách về cách xử lý chúng. Nếu chính sách xử lý lỗi mặc định được sử dụng, định dạng không hợp lệ sẽ được thay thế trong đầu ra bằng replacement_char
. Nếu chính sách lỗi được ignore
, mọi vị trí mã hóa không hợp lệ trong đầu vào sẽ bị bỏ qua và không được đưa vào đầu ra. Nếu nó được đặt thành strict
thì bất kỳ định dạng không hợp lệ nào sẽ dẫn đến lỗi Không hợp lệ.
Thao tác này có thể được sử dụng với output_encoding = input_encoding
để thực thi định dạng chính xác cho các đầu vào ngay cả khi chúng đã ở mã hóa mong muốn.
Nếu đầu vào được bắt đầu bằng Dấu thứ tự Byte cần thiết để xác định mã hóa (ví dụ: nếu mã hóa là UTF-16 và BOM chỉ ra big-endian), thì BOM đó sẽ được sử dụng và không được phát vào đầu ra. Nếu mã hóa đầu vào được đánh dấu bằng nội dung rõ ràng (ví dụ: UTF-16-BE), thì BOM được hiểu là một khoảng trắng không ngắt và được giữ nguyên trong đầu ra (bao gồm luôn cho UTF-8).
Kết quả cuối cùng là nếu đầu vào được đánh dấu là kết quả rõ ràng thì quá trình chuyển mã sẽ trung thành với tất cả các điểm mã trong nguồn. Nếu nó không được đánh dấu bằng sự kết thúc rõ ràng, BOM không được coi là một phần của chính chuỗi mà là siêu dữ liệu và do đó không được lưu giữ trong đầu ra.
Ví dụ:
tf.strings.unicode_transcode (["Hello", "TensorFlow", "2.x"], "UTF-8", "UTF-16-BE")
Tranh luận:
- phạm vi: Một đối tượng Phạm vi
- input: Văn bản được xử lý. Có thể có bất kỳ hình dạng nào.
- input_encoding: Mã hóa văn bản của các chuỗi đầu vào. Đây là bất kỳ mã hóa nào được hỗ trợ bởi bộ chuyển đổi thuật toán ICU ucnv. Ví dụ:
"UTF-16", "US ASCII", "UTF-8"
. - output_encoding: Mã hóa unicode để sử dụng trong đầu ra. Phải là một trong
"UTF-8", "UTF-16-BE", "UTF-32-BE"
. Các bảng mã nhiều byte sẽ là big-endian.
Các thuộc tính tùy chọn (xem Phần Attrs
):
- lỗi: Chính sách xử lý lỗi khi có định dạng không hợp lệ được tìm thấy trong đầu vào. Giá trị 'nghiêm ngặt' sẽ khiến thao tác tạo ra lỗi Đối số không hợp lệ trên bất kỳ định dạng đầu vào không hợp lệ nào. Giá trị 'thay thế' (mặc định) sẽ thực hiện thao tác thay thế mọi định dạng không hợp lệ trong đầu vào bằng mã
replacement_char
thế_char. Giá trị 'bỏ qua' sẽ khiến thao tác bỏ qua bất kỳ định dạng không hợp lệ nào trong đầu vào và không tạo ra ký tự đầu ra tương ứng. - Replace_char: Mã điểm ký tự thay thế được sử dụng thay cho bất kỳ định dạng không hợp lệ nào trong đầu vào khi
errors='replace'
. Có thể sử dụng bất kỳ mã điểm unicode hợp lệ nào. Giá trị mặc định là ký tự thay thế unicode mặc định là 0xFFFD hoặc U + 65533.)
Lưu ý rằng đối với UTF-8, việc chuyển một ký tự thay thế có thể diễn đạt được trong 1 byte, chẳng hạn như '', sẽ bảo toàn sự liên kết chuỗi với nguồn vì các byte không hợp lệ sẽ được thay thế bằng 1 byte thay thế. Đối với UTF-16-BE và UTF-16-LE, bất kỳ ký tự thay thế 1 hoặc 2 byte nào sẽ duy trì sự liên kết byte với nguồn.
- replace_control_characters: Cho dù để thay thế các ký tự điều khiển C0 (00-1F) với
replacement_char
. Mặc định là sai.
Lợi nhuận:
-
Output
: Một tensor chuỗi chứa văn bản unicode được mã hóa bằngoutput_encoding
.
Người xây dựng và Người phá hủy | |
---|---|
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) |
Thuộc tính công cộng | |
---|---|
operation | |
output |
Chức năng công cộng | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
Các chức năng tĩnh công khai | |
---|---|
Errors (StringPiece x) | |
ReplaceControlCharacters (bool x) | |
ReplacementChar (int64 x) |
Cấu trúc | |
---|---|
tensorflow :: ops :: UnicodeTranscode :: Attrs | Bộ thiết lập thuộc tính tùy chọn cho UnicodeTranscode . |
Thuộc tính công cộng
hoạt động
Operation operation
đầu ra
::tensorflow::Output output
Chức năng công cộng
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 )
nút
::tensorflow::Node * node() const
toán tử :: tensorflow :: Đầu vào
operator::tensorflow::Input() const
toán tử :: tensorflow :: Đầu ra
operator::tensorflow::Output() const
Các chức năng tĩnh công khai
Lỗi
Attrs Errors( StringPiece x )
ReplaceControlCharacters
Attrs ReplaceControlCharacters( bool x )
ReplacementChar
Attrs ReplacementChar( int64 x )