Python Unicode、字节和字符串到整数的转换

Python Unicode、字节和字符串到整数的转换,python,unicode,utf-8,translation,arabic,Python,Unicode,Utf 8,Translation,Arabic,我正在写一个程序,处理来自外国字母表的字母。该程序正在输入一个与字符的unicode数字相关联的数字。例如,062A是用unicode为该字符指定的数字 我首先要求用户输入一个与特定字母对应的数字,即062A。我现在尝试将该数字转换为16位整数,python可以对其进行解码,以便将字符打印回用户 例如: 对于\u0394 打印(字节([0x94,0x03])。解码('utf-16')) 但是当我使用 内部('062A','16') 我收到这个错误: ValueError:基数为10的int()的

我正在写一个程序,处理来自外国字母表的字母。该程序正在输入一个与字符的unicode数字相关联的数字。例如,062A是用unicode为该字符指定的数字

我首先要求用户输入一个与特定字母对应的数字,即062A。我现在尝试将该数字转换为16位整数,python可以对其进行解码,以便将字符打印回用户

例如:

对于\u0394 打印(字节([0x94,0x03])。解码('utf-16'))

但是当我使用

内部('062A','16')

我收到这个错误:

ValueError:基数为10的int()的文本无效:“062A”

我知道这是因为我在字符串中使用了一个,但是这是符号的unicode。有人能帮我吗

但是,当我使用
int('062A','16')
时,我收到以下错误:
ValueError:以10为基数的int()的文本无效:“062A”

不,你不是:

>>> int('062A', '16')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object cannot be interpreted as an integer
如果您想获得相应的编号Unicode代码点,那么通过字节和UTF-16进行转换就太麻烦了。只需使用
chr
直接询问,例如:

>>> chr(int('0394', 16))
'Δ'

基本参数不应该是字符串,而应该是整数:
int('062A',16)
我不明白;
0x062A
\u0394
之间的预期关系是什么?您是否试图用
'utf-16'
编码
'062A'
?我测试了
int('062A','16')
,得到了与@KarlKnechtel相同的错误(TypeError:'str'对象不能解释为整数)。请确保您的帖子包含完整、正确的错误输出。我遇到的问题主要是参数使用不正确。我还在学习如何做基本的事情,所以我犯了一个错误。\u0394的示例以及与0x062A的关系完全没有。这是我的第一篇堆栈溢出帖子,抱歉出错。下一次我会做得更好,谢谢大家。你们可以在终端上显示阿拉伯语字符,也可以不显示。Python对此无能为力。确保字符串包含正确文本的最简单、跨平台的方法是将它们写入文本文件,并在支持Unicode的文本编辑器中查看它们。说到这一点,我还是个新手。你明白了。我认为将我的东西转换成字节和UTF-16也是一项艰巨的工作,它阻止了我想从事这个项目,因为它感觉太难了。幸运的是,在阅读了你的评论和回答后,我取得了一些进展。谢谢。值得一提的是:要将整数转换为字节,请使用整数的
。to_bytes
方法-您需要告诉它要使用多少字节,以及endianness。我相信,最终会有一个项目需要这样做:)
>>> chr(int('0394', 16))
'Δ'