dòng chảy căng:: ôi:: Chuyển mã Unicode
#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.
Bản tóm tắt
Đầu vào là một tensor 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 là ignore
thì 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ì mọi định dạng không hợp lệ sẽ dẫn đến lỗi InvalidArgument.
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 đầu vào ngay cả khi chúng đã ở dạng mã hóa mong muốn.
Nếu đầu vào có tiền tố là 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 biểu thị big-endian), thì BOM đó sẽ được sử dụng và không được phát ra đầu ra. Nếu mã hóa đầu vào được đánh dấu bằng độ cuối rõ ràng (ví dụ: UTF-16-BE), thì BOM được hiểu là dấu cách không ngắt và được giữ nguyên ở đầu ra (bao gồm luôn dành cho UTF-8).
Kết quả cuối cùng là nếu đầu vào được đánh dấu là độ cuối rõ ràng thì việc chuyển mã sẽ trung thực với tất cả các điểm mã trong nguồn. Nếu nó không được đánh dấu bằng độ cuối rõ ràng thì BOM không được coi là một phần của chuỗi mà là siêu dữ liệu và do đó không được giữ nguyên trong đầu ra.
Ví dụ:
tf.strings.unicode_transcode(["Xin chào", "TensorFlow", "2.x"], "UTF-8", "UTF-16-BE")
Lập luận:
- phạm vi: Một đối tượng Phạm vi
- input: Văn bản cần 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 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 ucnv của ICU. Ví dụ:
"UTF-16", "US ASCII", "UTF-8"
. - đầu ra_encoding: Mã hóa unicode để sử dụng ở đầu ra. Phải là một trong
"UTF-8", "UTF-16-BE", "UTF-32-BE"
. Mã hóa nhiều byte sẽ là big-endian.
Thuộc tính tùy chọn (xem Attrs
):
- lỗi: Chính sách xử lý lỗi khi tìm thấy định dạng không hợp lệ trong đầu vào. Giá trị 'nghiêm ngặt' sẽ khiến thao tác tạo ra lỗi InvalidArgument 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ẽ khiến thao tác thay thế mọi định dạng không hợp lệ trong đầu vào bằng điểm mã
replacement_char
. Giá trị 'bỏ qua' sẽ khiến thao tác bỏ qua mọi định dạng không hợp lệ trong đầu vào và không tạo ra ký tự đầu ra tương ứng. - thay thế_char: Điểm 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'
. Bất kỳ điểm mã unicode hợp lệ nào cũng có thể được sử dụng. 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 ký tự thay thế có thể biểu thị bằng 1 byte, chẳng hạn như '', sẽ duy trì 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 thay thế 1 byte. Đố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ì căn chỉnh byte với nguồn.
- thay thế_control_characters: Có thay thế các ký tự điều khiển C0 (00-1F) bằng
replacement_char
hay không. Mặc định là sai.
Trả về:
-
Output
: Một tenxơ chuỗi chứa văn bản unicode được mã hóa bằngoutput_encoding
.
Hàm tạo và hàm 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 khai | |
---|---|
operation | |
output |
Chức năng công cộng | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
Các hàm tĩnh công khai | |
---|---|
Errors (StringPiece x) | |
ReplaceControlCharacters (bool x) | |
ReplacementChar (int64 x) |
Cấu trúc | |
---|---|
tensorflow:: ops:: UnicodeTranscode:: Attrs | Trình thiết lập thuộc tính tùy chọn cho UnicodeTranscode . |
Thuộc tính công khai
hoạt động
Operation operation
đầu ra
::tensorflow::Output output
Chức năng công cộng
Chuyển mã Unicode
UnicodeTranscode( const ::tensorflow::Scope & scope, ::tensorflow::Input input, StringPiece input_encoding, StringPiece output_encoding )
Chuyển mã Unicode
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ử::tenorflow::Đầu vào
operator::tensorflow::Input() const
toán tử::tenorflow::Đầu ra
operator::tensorflow::Output() const
Các hàm tĩnh công khai
Lỗi
Attrs Errors( StringPiece x )
Thay thếĐiều khiểnKý tự
Attrs ReplaceControlCharacters( bool x )
Char thay thế
Attrs ReplacementChar( int64 x )