如何过滤(或替换)在UTF-8中占用3个以上字节的Unicode字符?

如何过滤(或替换)在UTF-8中占用3个以上字节的Unicode字符?,第1张

如何过滤(或替换)在UTF-8中占用3个以上字节的Unicode字符

u0000- uD7FF和 uE000- uFFFF范围内的Unipre字符在UTF8中将具有3字节(或更少)的编码。 uD800-
uDFFF范围适用于多字节UTF16。我不了解python,但您应该可以设置一个正则表达式以匹配这些范围之外的内容。

pattern = re.compile("[uD800-uDFFF].", re.UNICODE)pattern = re.compile("[^u0000-uFFFF]", re.UNICODE)

编辑在问题正文中从DenilsonSá的脚本中添加Python:

re_pattern = re.compile(u'[^u0000-uD7FFuE000-uFFFF]', re.UNICODE)filtered_string = re_pattern.sub(u'uFFFD', unipre_string)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5052764.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存