我一直在寻找合适的解决方案,以便如何将Unicode符号(ἔ)转换为相应的Unicode实体(ἔ)。我有一个文本文件,其中包含许多像ῶἤÜὰὔ这样的符号。我正在寻找一个python甚至Perl脚本,它可以将该文件作为参数并处理每个符号,并将其等价的Unicode实体写入输出文件中。我看到类似的问题here,但它正在处理html实体。将unicode符号转换为unicode实体
2
A
回答
2
的Python 3.3+:
#coding: utf8
import re
s = 'abcῶἤÜὰὔdef'
s = re.sub(r'[\x80-\U0010FFFF]', lambda x: '&#x{:04X};'.format(ord(x.group(0))), s)
print(s)
re.sub
使用正则表达式和替换功能。r'[\x80-\U0010FFFF]'
匹配单个非ASCII Unicode字符。lambda x: '&x{:04X};'.format(ord(x.group(0)))
是一个接收正则表达式匹配的匿名函数。x
是匹配对象。x.group(0)
是匹配的子字符串。ord
给出该字符的Unicode序号,format
生成所需的html实体字符串作为替换。 λ表达式是等效于功能:
def replacement(matchobj):
substring = matchobj.group(0)
unicode_value = ord(substring)
return '&x{:04X};'.format(unicode_value)
输出:
abcῶἤÜὰὔdef
+0
这是完美的。你能写一下在这里做什么吗? – Jagath
+0
@blackburn,已更新。 –
4
perl -Ci -0777 -E 'print map {sprintf "&#x%04x;", ord $_} split(//,<>)' foo.txt
+1
有没有一种方法在这个过程中没有改变ascii字符。另外,请你详细说明在这里完成的过程。 – Jagath
相关问题
- 1. 将Unicode实体转换为Unicode文本
- 2. 将unicode转换为HTML实体功能
- 3. 如何在Unicode中将Unicode字符转义为符号实体名称?
- 4. 将unicode转换为实际字符C#
- 5. 将Unicode转换为字符
- 6. Unicode转换到其实际的符号
- 7. 将号码转换为Unicode号
- 8. 在Unicode中将unicode字符串转换为可用的unicode
- 9. Python中,转换HTML实体为Unicode
- 10. 如何将Unicode特殊字符转换为html实体?
- 11. 将HTML实体转换为C#中的Unicode字符
- 12. 将字符实体转换为它们的Unicode等效
- 13. 将html实体转换为unicode(utf-8)字符串?
- 14. Unicode字符转为问号
- 15. 转换非Unicode为Unicode
- 16. 如何将Unicode字体转换为ansi
- 17. 如何将包含unicode字符的字符串转换为unicode?
- 18. PHP - Unicode转换为字符
- 19. 将字符数组转换为Unicode
- 20. C#将Unicode转换为字符串
- 21. 将希腊字符转换为Unicode
- 22. 将unicode字符串转换为float
- 23. NSBatchUpdateRequest将字符串转换为unicode
- 24. 将unicode字符串转换为utf8
- 25. 将AnsiString转换为Unicode字符串
- 26. 将Unicode转换为字符串Java
- 27. 将Unicode字符转换为NSString
- 28. 将字符串转换为unicode
- 29. 将unicode转换为字符串
- 30. 将unicode转换为红宝石字符
没有两个不同的事情称为unicode的实体和HTML实体,它们是相同的 – ysth
例如代替的&#7956; [HTML实体(十六进制)]我需要&#x1F14; [HTML实体(十进制)]。 – Jagath
为什么?他们相当于 – ysth