gpt4 book ai didi

python - 使用 Python 将十六进制文本转换为阿拉伯文本

转载 作者:太空宇宙 更新时间:2023-11-04 12:38:23 25 4
gpt4 key购买 nike

我构建了一个将十六进制字符串转换为 Unicode 格式的代码,但打印后,输出转换不​​起作用,而当从输出复制并将其放入打印(u'output')时,阿拉伯文本出现

Python代码

input ="062A06450020062A62C062F064A062F0020";
i = 0 ;
n ="\\"+"u";

while i < (len(input)):
n += input[i:i+4] + "\\"+"u";
i = i + 4;

output = str(n[0:(len(n)-2)]) ;
print (u'%s'%output)

输出:

\u062A\u0645\u0020\u062A\u62C0\u62F0\u64A0\u62F0\u020

复制输出并使用 print Unicode:

print (u'\u062A\u0645\u0020\u062A\u62C0\u62F0\u64A0\u62F0\u020')

出现阿拉伯文字

最佳答案

您不能通过在字符串 values 中添加 \u 来生成 Unicode 代码点,不,因为 \u 序列是字符串 literal 语法。 Python 解析器而不是解释器使用它来生成 Unicode 值。

您的输入也太短了;你在某处还需要 一个数字,看起来你在 62C 之前的中间可能缺少一个 0

您基本上拥有大端顺序的十六进制 UTF-16;只需从十六进制解码并解码为 utf-16-be:

from binascii import unhexlify
unhexlify(input).decode('utf-16-be')

演示,带有更正的输入数据:

>>> from binascii import unhexlify
>>> input ="062A06450020062A062C062F064A062F0020"
>>> unhexlify(input).decode('utf-16-be')
'تم تجديد '
>>> print(unhexlify(input).decode('utf-16-be'))
تم تجديد

关于python - 使用 Python 将十六进制文本转换为阿拉伯文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40927544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com