编码解码

text = r"\u4e2d\u56fd"
text_encode = text.encode("utf-8").decode("unicode-escape")
print(text_encode)
代码逐行解析

  1. text = r"\u4e2d\u56fd"
    作用:定义一个字符串变量 text。这里使用了原始字符串(raw string)的表示方法,即在字符串前面加上 r。原始字符串会将反斜杠 \ 视为普通字符,不会对其后面的字符进行转义。所以 text 变量的值就是字符串 "\u4e2d\u56fd",其中 \u4e2d 和 \u56fd 是 Unicode 转义序列。
    示例解释:如果不使用原始字符串,"\u4e2d\u56fd" 会被 Python 解释器直接解析为对应的 Unicode 字符,而不是作为字符串字面量。加上 r 后,它就只是一个包含 \u 开头的文本字符串。
  2. text_encode = text.encode("utf-8").decode("unicode-escape")
    text.encode("utf-8"):
    作用:调用字符串的 encode 方法,将字符串 text 编码为 UTF - 8 字节序列。encode 方法会根据指定的编码格式(这里是 utf-8)将字符串中的每个字符转换为对应的字节表示。
    示例解释:由于 text 是一个包含 Unicode 转义序列的字符串,编码后会得到一个字节序列,该序列是 "\u4e2d\u56fd" 这个字符串的 UTF - 8 编码表示。
    .decode("unicode-escape"):
    作用:对编码后的字节序列调用 decode 方法,并指定解码方式为 "unicode-escape"。unicode-escape 解码方式会将字节序列中的 \uXXXX 形式的转义序列解析为对应的 Unicode 字符。
    示例解释:经过 unicode-escape 解码后,\u4e2d 会被转换为 Unicode 码点为 U+4E2D 的字符(即 “中”),\u56fd 会被转换为 Unicode 码点为 U+56FD 的字符(即 “国”)。
  3. print(text_encode)
    作用:将解码后的字符串 text_encode 打印输出到控制台。在这个例子中,最终输出的结果是 “中国”。
posted @ 2025-04-29 18:36  广东abson  阅读(80)  评论(0)    收藏  举报