[英]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.