关于python3中文字符使用unicode表示

发布于:2024-04-30 ⋅ 阅读:(152) ⋅ 点赞:(0)

常用的二进制八进制和十六进制怎么表示
在Python中,表示二进制、八进制和十六进制的方式如下:

  1. 二进制表示:在数字前面加上0b0B前缀。
binary_number = 0b1010
print(binary_number)  # 输出结果为 10
  1. 八进制表示:在数字前面加上0o0O前缀。
octal_number = 0o123
print(octal_number)  # 输出结果为 83
  1. 十六进制表示:在数字前面加上0x0X前缀。
hexadecimal_number = 0x1A
print(hexadecimal_number)  # 输出结果为 26

这些前缀告诉Python解释器对应的数字是以二进制、八进制或十六进制表示的。

如果表示汉字通常是用什么进制表示的
汉字通常使用Unicode字符集进行表示,而Unicode字符集是一个字符集,不涉及进制的概念。Unicode字符集使用唯一的代码点来表示每个字符,这些代码点是十六进制表示的。在Python中,你可以使用ord()函数将一个汉字转换为对应的Unicode码点,然后使用十六进制表示。

举个例子,假设我们有一个汉字"中":

chinese_character = "中"
unicode_code_point = ord(chinese_character)
print(hex(unicode_code_point))  # 输出结果为 0x4e2d

在这里,ord()函数将汉字"中"转换为对应的Unicode码点,然后hex()函数将该码点以十六进制表示输出。

汉字的码点是一个整数表示的吗
是的,汉字的码点是一个整数表示的。Unicode字符集中的每个字符都有一个唯一的整数值,称为Unicode码点或代码点。这个码点可以是十进制表示,也可以是十六进制表示。Unicode码点表示了字符在Unicode字符集中的位置。在计算机中,汉字的码点通常是以整数形式存储和处理的。

那么使用ord打印的码点是什么进制的整数

ord()函数返回的码点是以十进制整数形式表示的。也就是说,使用ord()函数得到的结果是一个十进制整数,表示该字符在Unicode字符集中的位置。这里二进制完全就是整数20013的二进制表示,没有任何含义,主要为了对比’中’用3个字节流表示的方式。
在这里插入图片描述

在这里插入图片描述
实际上在内存中,一个“中”汉字用了3个byte表示,11100100,10111000,10101101
如果每个字节转成10进制就是228,184,173
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到