只要牵扯到字符编码的编程,脾气就会异常的,看着那一堆堆乱码,就巴不得拿刀砍死它!
现在有个这样的需求:
使用打印机打印指定的内容,然后按照指定的协议与设备通信。
该打印机认识 unicode 编码的字符。
所以,需要将指定内容(String)转换为 unicode 编码,然后转换为对应的 unicode 字节数组。
编码实现:
测试用例:
在线转换工具测试结果(16 进制):
u55 ----------------------- 'U'
u4e ----------------------- 'N'
u49 ----------------------- 'I'
u43 ----------------------- 'C'
u4f ----------------------- 'O'
u44 ----------------------- 'D'
u45 ----------------------- 'E'
u5cu74 ----------------------- 't'
u5cu6e ----------------------- 'n'
u5cu72 ----------------------- 'r'
u47 ----------------------- 'G'
u20 ----------------------- ' '(空格)
u4f ----------------------- 'O'
u44 ----------------------- 'D'
测试案例测试结果:
xx[0]= 0 xx[1]= 85 ----------------------- 'U'
xx[2]= 0 xx[3]= 78 ----------------------- 'N'
xx[4]= 0 xx[5]= 73 ----------------------- 'I'
xx[6]= 0 xx[7]= 67 ----------------------- 'C'
xx[8]= 0 xx[9]= 79 ----------------------- 'O'
xx[10]= 0 xx[11]= 68 ----------------------- 'D'
xx[12]= 0 xx[13]= 69 ----------------------- 'E'
xx[14]= 0 xx[15]= 92 ----------------------- 't'
xx[16]= 0 xx[17]= 116
xx[18]= 0 xx[19]= 92 ----------------------- 'n'
xx[20]= 0 xx[21]= 110
xx[22]= 0 xx[23]= 92 ----------------------- 'r'
xx[24]= 0 xx[25]= 114
xx[26]= 0 xx[27]= 71 ----------------------- 'G'
xx[28]= 0 xx[29]= 32 ----------------------- ' '
xx[30]= 0 xx[31]= 79 ----------------------- 'O'
xx[32]= 0 xx[33]= 68 ----------------------- 'D'
实现代码缺陷(目前发现的):
需要转义的字符一定要使用这种形式:t
测试结果一致,打烊!