LabVIEW论坛
直播中

晴木娃娃

11年用户 49经验值
擅长:测量仪表
私信 关注
[文章]

数据转换、SQL存储,十六进制字符串、正常字符串

背景:今天在做数据存储的时候,发现读上来的数据全都是乱码,然后使用SQL server 2008的语句存储到字段中时,出现怎么做都报错的问题,要不就是多了单引号,要不就是少了单引号,所以鄙人就想到了这个方法。

方法:将所有乱码的 ,不乱码的数据显示成十六进制,如下图所示,把正常显示的字符串更换为16进制显示,当显示为16进制字符串时,字符串的显示字符组成仅为1-F的字符串。再将这些字符串保存在数据库中,就可以成功保存这些字符串了,此时需要注意字符串的长度。
字符串的两种显示方式.png

将十六进制显示的字符串,按照显示模式显示成正常字符串,比如正常字符串“1234”,当它在字符串控件中按照十六进制显示时为“4142 4344”,我们要做的是,当使用正常显示时,仍然将其显示为“41 42 43 44 ”。

下图是将正常字符串转换为十六进制显示的正常字符串,思想是,先将字符串转换为16进制显示,如上图红色箭头所示,接着将字符串转换为字节数组,再使用数值转字符串,注意,此时需要规定宽度,之后将字符串数组连接起来就可以了。

十六进制字符串转正常字符串.png

下面既是将正常显示的字符串转回十六进制,相当于还原数据,此时这里的除数就是之前使用的宽度值
正常字符串转十六进制字符串.png



这样就实现了所有乱码字符串的数据存储,也避免了在使用SQL语句时,导致语法错误的情况。

更多回帖

发帖
×
20
完善资料,
赚取积分