# 创建 GBK 字节数组
text = "你好"

gbk_bytes = text.encode('gbk')  # b'\xc4\xe3\xba\xc3'
gbk_byte_array = bytearray(gbk_bytes)

utf8_bytes = text.encode('utf-8')  # b'\xc4\xe3\xba\xc3'
utf8_byte_array = bytearray(utf8_bytes)


def print_bytearray_hex(data):
    """逐字节打印十六进制值"""
    if not isinstance(data, (bytes, bytearray)):
        raise TypeError("输入必须是字节序列 (bytes 或 bytearray)")
    
    for i, byte in enumerate(data):
        # 格式化为两位数大写十六进制，带0x前缀
        print(f"字节[{i:03d}]: 0x{byte:02X} ({byte:3d})")

# 类型和内容检查

print(type(gbk_byte_array))      # <class 'bytearray'>
print(gbk_byte_array)            # bytearray(b'\xc4\xe3\xba\xc3')
print(list(gbk_byte_array))      # [196, 227, 186, 195] - 原始字节值

print_bytearray_hex(gbk_byte_array)
 

print("\r\r\r")

print(type(utf8_byte_array))      # <class 'bytearray'>
print(utf8_byte_array)            # bytearray(b'\xc4\xe3\xba\xc3')
print(list(utf8_byte_array))      # [196, 227, 186, 195] - 原始字节值

print_bytearray_hex(utf8_byte_array)