查看: 597|回复: 0

[经验] 简单的数据转换技巧小分享

[复制链接]

该用户从未签到

发表于 2020-9-25 12:07:12 | 显示全部楼层 |阅读模式
分享到:
背景:今天在做数据存储的时候,发现读上来的数据全都是乱码,然后使用SQL server 2008的语句存储到字段中时,出现怎么做都报错的问题,要不就是多了单引号,要不就是少了单引号,所以鄙人就想到了这个方法。

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


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

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

9.jpg


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




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





回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

手机版|小黑屋|与非网

GMT+8, 2024-11-25 16:49 , Processed in 0.119389 second(s), 16 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.