Algorithm: 字符串变换为 unicode 字节数组

Algorithm: 字符串转换为 unicode 字节数组

只要牵扯到字符编码的编程,脾气就会异常的Algorithm: 字符串变换为 unicode 字节数组,看着那一堆堆乱码,就巴不得拿刀砍死它!


现在有个这样的需求:


使用打印机打印指定的内容,然后按照指定的协议与设备通信。

该打印机认识 unicode 编码的字符。


所以,需要将指定内容(String)转换为 unicode 编码,然后转换为对应的 unicode 字节数组。


编码实现:



测试用例:





在线转换工具测试结果(16 进制):


\u55            ----------------------- 'U'

\u4e            ----------------------- 'N'

\u49            ----------------------- 'I'

\u43            ----------------------- 'C'

\u4f             ----------------------- 'O'

\u44            ----------------------- 'D'

\u45            ----------------------- 'E'

\u5c\u74    ----------------------- '\t'

\u5c\u6e    ----------------------- '\n'

\u5c\u72    ----------------------- '\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


测试结果一致,打烊!