问题描述:
ord() 函数和chr() 函数。
问题解答:
解释
-
ord()
函数:- 将一个字符转换为其对应的 Unicode 编码。
- 例如,
ord('你')
返回 20320,对应的十六进制编码是 0x4f60。
-
chr()
函数:- 将一个 Unicode 编码转换为其对应的字符。
- 例如,
chr(0x4f60)
返回'你'
。
完整示例
以下是一个完整的示例,包括检查字符是否为汉字,并展示 Unicode 编码转换的过程:
def is_chinese(char):
# 检查字符的 Unicode 编码是否在汉字的范围内
if '\u4e00' <= char <= '\u9fff':
return True
else:
return False
# 示例用法
chars = ['你', 'a', '字', '1', '文']
for char in chars:
if is_chinese(char):
print(f"'{char}' 是汉字")
unicode_code = ord(char)
print(f"'{char}' 的 Unicode 编码是: {hex(unicode_code)}")
else:
print(f"'{char}' 不是汉字")
输出结果
'你' 是汉字
'你' 的 Unicode 编码是: 0x4f60
'a' 不是汉字
'字' 是汉字
'字' 的 Unicode 编码是: 0x5b57
'1' 不是汉字
'文' 是汉字
'文' 的 Unicode 编码是: 0x6587
通过上述示例,可以看到如何使用 ord()
函数将汉字转换为 Unicode 编码,以及如何使用 chr()
函数将 Unicode 编码转换回汉字。同时,通过检查字符的 Unicode 编码是否在 '\u4e00'
到 '\u9fff'
范围内,可以判断一个字符是否为汉字。