请问为什么汉字生成的十六进制数与正常的十六进制数不同

请问为什么汉字生成的十六进制数与正常的十六进制数不同

长度小于30个字符,请进行长度小于字符,请进行

img

img

img

因为一个汉字是两个字节,即两个十六进的数据,现在你是4个汉字,8个字节!具体要看你的编码格式的!

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7509005
  • 你也可以参考下这篇文章:步进电机驱动数控十字滑台直线、圆弧插补(附斜椭圆插补代码实现)
  • 除此之外, 这篇博客: 详细介绍如何从零开始制作51单片机控制的智能小车(一)———让小车动起来中的    收到部分读者说这部分连线还是不太明白,于是我简单画了以下的草图,帮助大家理解上面的内容(字不好看,请见谅) 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 您还可以看一下 李月喜老师的企业微信开发自建内部应用开发篇课程中的 开发文档如何阅读,如何寻求帮助,如何找到同行小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    汉字生成的十六进制数与正常的十六进制数不同的原因是因为汉字在计算机中是以Unicode编码表示的,而正常的十六进制数通常是由ASCII码表示的。

    ASCII码是一种使用7位或8位二进制数字表示字母、数字和符号的标准编码系统。每个字符都映射到一个唯一的数字值,这个数值可以用十进制、八进制或十六进制来表示。ASCII码常用于英文字符的编码,但不包含汉字。

    Unicode(统一码、标示国际字符集、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode把世界上的各种文字都统一到一套编码中,为每个字符分配一个唯一的标识码,以满足跨语言、跨平台的文字处理需求。

    汉字的Unicode编码通常是由2个字节(十六进制)或者4个字节(十六进制)表示的。这与ASCII码只需要1个字节表示的特点不同,因此导致汉字生成的十六进制数与正常的十六进制数不同。

    以下是一个示例代码,将一个汉字转换成对应的Unicode编码的十六进制数:

    ch = '中'  # 要转换的汉字
    unicode_hex = ord(ch)  # 获取汉字的Unicode编码
    hex_str = hex(unicode_hex)  # 将Unicode编码转换成十六进制字符串
    print(hex_str)  # 输出结果
    

    示例输出:

    0x4e2d
    

    通过以上代码可以看出,汉字'中'的Unicode编码为0x4e2d,与正常的十六进制数不同。