如何把字符串16进制转换为真正的16进制!!!!

67676373 2015-03-28 10:07:11
说起来有点绕口!!!想破头没想到,这种转换叫什么?


现在有个字符串变量B

string B=“\\xc1\\x8b\\xee”;

我要对变量B做什么转换,才能让其和变量C相等。

object C="\xc1\x8b\xee";

...全文
165 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
67676373 2015-03-29
  • 打赏
  • 举报
回复
我知道答案了,先把 B字符串转换成16进制,然后替换掉转义字符 005c 就能和C变量相等了。
67676373 2015-03-29
  • 打赏
  • 举报
回复
引用 3 楼 siecj 的回复:
你的问题应该就是如何把B变成一个真正的16进制字符串。 方法: 1. 使用正则将B中每一个代表16进制数的串取出 => {“c1", "8b", "ee"} 2. 将创建一个byte[],并将每一项变成byte放到数组中. byte[3] oTmp = new byte[3]; byte b1 = Convert.ToByte("c1", 16); 3. 将byte数组转换为string string s2 = Encoding.UTF8.GetString(oTmp); 这时候的s2就等于C了。
我的问题是如何转换B让其和C相等。就这么简单。 你的这个我早试过了, 不相等。
siecj 2015-03-28
  • 打赏
  • 举报
回复
你的问题应该就是如何把B变成一个真正的16进制字符串。 方法: 1. 使用正则将B中每一个代表16进制数的串取出 => {“c1", "8b", "ee"} 2. 将创建一个byte[],并将每一项变成byte放到数组中. byte[3] oTmp = new byte[3]; byte b1 = Convert.ToByte("c1", 16); 3. 将byte数组转换为string string s2 = Encoding.UTF8.GetString(oTmp); 这时候的s2就等于C了。
67676373 2015-03-28
  • 打赏
  • 举报
回复
引用 1 楼 wyd1520 的回复:
在C#里16进制的转换就是byte哦? 这个在C#里不代表16进制 object C="\xc1\x8b\xee";
啥意思? object C="\xc1\x8b\xee"; 不代表16进制代表啥?我就想知道对B进行什么转换能和C相等。
本拉灯 2015-03-28
  • 打赏
  • 举报
回复
在C#里16进制的转换就是byte哦? 这个在C#里不代表16进制 object C="\xc1\x8b\xee";

110,534

社区成员

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

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

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