2024-10-04 01:24:50 发布
网友
有什么内置的方法可以做到这一点吗?在
rawstr = r"3 \u176? \u177? 0.2\u176? (2\u952?)" #required str is 3 ° ± 0.2° (2θ).
有点像
问题是如何将rawstr转换为utf-8。在
请看我的答案,以便更清楚。在
如果比我现在做的更好,请回答。在
如果您安装了windows和pythonnet
import clr clr.AddReference("System") clr.AddReference("System.Windows.Forms") import System.Windows.Forms as WinForms def rtf_to_text(rtf_str): """Converts rtf to text""" rtf = r"{\rtf1\ansi\ansicpg1252" + '\n' + rtf_str + '\n' + '}' richTextBox = WinForms.RichTextBox() richTextBox.Rtf = rtf return richTextBox.Text print(rtf_to_text(r'3 \u176? \u177? 0.2\u176? (2\u952?)')) >'3 ° ± 0.2° (2θ)'
是的,有!在
对于python 2:
print r'your string'.decode('string_escape')
对于python3,需要将其转换为字节,然后使用decode:
decode
请注意,这在您的情况下不起作用,因为您的符号没有正确转义(即使您使用“正常”方式打印它们,它也不起作用)。在
你的字符串应该是这样的:
注意,如果需要在python中将string转换为bytes,那么可以使用bytes函数。在
string
bytes
my_str = r'3\u00B0 \u00b1 0.2\u00B0 2\u03B8' my_bytes = bytes(my_str, 'utf-8') print my_bytes.decode('string_escape') # python 2 print(my_bytes.decode('unicode_escape')) # python 3
如果您安装了windows和pythonnet
是的,有!在
对于python 2:
对于python3,需要将其转换为字节,然后使用
^{pr2}$decode
:请注意,这在您的情况下不起作用,因为您的符号没有正确转义(即使您使用“正常”方式打印它们,它也不起作用)。在
你的字符串应该是这样的:
^{3}$注意,如果需要在python中将
string
转换为bytes
,那么可以使用bytes
函数。在相关问题 更多 >
编程相关推荐