C#操作MYSQL时,将2进制数据转换为String存储到MYSQL的问题

晓彩 2013-04-19 09:35:43
byte[] data = new byte[]{34,92,88,34,34};
//注意:34为字符" 92为字符\ 88为字符X

将2进制数据转化为string
String strData = Encoding.ASCII.GetString(data);

然后存入MYSQL,由于存在转义符在里面,所以存入MYSQL后再取出得到的结果
并不是原先的数据了。

请问如何能方便快速准确的将2进制数据内的转义符转义了?

简单的用Replace将"和\替换为\"和\\的话,取出数据后
第二次存入数据前再次Replace就重复替换了\\替换成了\\\\所以请问有什么简单快速的方法?
...全文
105 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
游戏人间 2013-04-20
  • 打赏
  • 举报
回复
数据库存入什么结果读取来还是什么结果,不需要什么转义。
晓彩 2013-04-20
  • 打赏
  • 举报
回复
引用 4 楼 wonderfuly 的回复:
数据库存入什么结果读取来还是什么结果,不需要什么转义。
可能我没解释清楚吧 byte[] data = new byte[]{34,92,88,34,34}; 试试看将这个数组用Encoding.ASCII.GetString获取成String后存入MySql的Text列里,然后再读出后用Encoding.ASCII.GetByte 你会发现数据不对了
晓彩 2013-04-20
  • 打赏
  • 举报
回复
引用 3 楼 caozhy 的回复:
那是你拼接sql的问题吧。
可能我没解释清楚吧 byte[] data = new byte[]{34,92,88,34,34}; 试试看将这个数组用Encoding.ASCII.GetString获取成String后存入MySql的Text列里,然后再读出后用Encoding.ASCII.GetByte 你会发现数据不对了
threenewbee 2013-04-19
  • 打赏
  • 举报
回复
那是你拼接sql的问题吧。
晓彩 2013-04-19
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
和转义没有关系啊。
有关系啊,你看这里 byte[] data = new byte[]{34,92,88,34,34}; 转换后的字符串为 "\X"" 存入MYSQL后 由于转义符号的问题所以存入后的结果为 "X"",\被认为是转义符处理了
threenewbee 2013-04-19
  • 打赏
  • 举报
回复
和转义没有关系啊。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧