繁体   English   中英

Tensorflow 无法拆分 Unicode UTF-8 字符

[英]Tensorflow cannot split Unicode UTF-8 character

我使用tf.strings.unicode_split分割文本字符。 当我使用英文字符时,它工作正常

example_texts = ['hello world']
chars = tf.strings.unicode_split(example_texts, input_encoding='UTF-8')
print(chars)

<tf.RaggedTensor [[b'h', b'e', b'l', b'l', b'o', b' ', b'w', b'o', b'r', b'l', b'd']]>

但是如果更改为 UTF-8 Unicode字符,它就不像英文字符那样工作

example_texts = ['سلام دنیا']
chars = tf.strings.unicode_split(example_texts, input_encoding='UTF-8')
print(chars)

<tf.RaggedTensor [[b'\xd8\xb3', b'\xd9\x84', b'\xd8\xa7', b'\xd9\x85', b' ', b'\xd8\xaf', 
b'\xd9\x86', b'\xdb\x8c', b'\xd8\xa7']]>

谢谢你。

来自评论

显然,这些字符被编码为 UTF-8。 在英文示例中,同样的情况发生了(字符是字节字符串——参见字节前缀),您似乎并不介意。 要查看波斯字符,请尝试以下操作: b'\xd8\xb3'.decode('utf8') == 'س' ,就像b'h'.decode('utf8') == 'h' (从 lenz 解释)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM