ASCII码是一种7位字符编码,而Unicode码是一种16位字符编码。下面是一个将ASCII码和Unicode码相互转换的Python代码示例:
def ascii_to_unicode(string): unicode_string = "" for c in string: unicode_string += str(ord(c)).zfill(4) return unicode_string def unicode_to_ascii(string): ascii_string = "" for i in range(0, len(string), 4): codepoint = int(string[i:i+4]) ascii_string += chr(codepoint) return ascii_string
这里我们定义了两个函数, ascii_to_unicode
和unicode_to_ascii
。 ascii_to_unicode
函数将ASCII字符串转换为16进制表示的Unicode字符串,unicode_to_ascii
函数执行相反的操作。使用示例:
>>> ascii_string = "hello" >>> unicode_string = ascii_to_unicode(ascii_string) >>> print(unicode_string) 104101108108111 >>> ascii_string = unicode_to_ascii(unicode_string) >>> print(ascii_string) hello
需要注意的是,这种方法并不适用于所有的字符集和编码,因为有些字符集不是单个字节或者不满足ASCII字符集的规定。如果要更普适地处理字符编码的问题,可以使用Python标准库中的codecs
模块。