比如:这是16进制数:“5B6C6973745D0D0A6974656D5F6E6F3D360D0A6974656D303D3430302C20312C20302C5C6673333233325C433031393030305C5331305C63323535323535303030303030C7EBB1A3B3D6B0B2C8ABB3B5BEE00D0A0D0A0D0A”我想转化成:
“[list]
item_no=6
item0=400, 1, 0,\fs3232\C019000\S10\c255255000000请保持安全车距”
谢谢大家了!
“[list]
item_no=6
item0=400, 1, 0,\fs3232\C019000\S10\c255255000000请保持安全车距”
谢谢大家了!
{
int len = src.Length/2;
byte[] arr = new byte[len];
for(int i=0;i<len;i++)
{
arr[i] = Convert.ToByte(src.Substring(i*2,2),16);
}
return arr;
}string str="5B6C6973745D0D0A6974656D5F6E6F3D360D0A6974656D303D3430302C20312C20302C5C6673333233325C433031393030305C5331305C63323535323535303030303030C7EBB1A3B3D6B0B2C8ABB3B5BEE00D0A0D0A0D0A";
byte[] arr = Hex2ByteArr(str);
string 你要的字符串 = MEncoding.Default.GetString(arr);
晕,多了个字母,还是把namespace加上吧,省得你using了public byte[] Hex2ByteArr(string src)
{
int len = src.Length/2;
byte[] arr = new byte[len];
for(int i=0;i<len;i++)
{
arr[i] = Convert.ToByte(src.Substring(i*2,2),16);
}
return arr;
}string str="5B6C6973745D0D0A6974656D5F6E6F3D360D0A6974656D303D3430302C20312C20302C5C6673333233325C433031393030305C5331305C63323535323535303030303030C7EBB1A3B3D6B0B2C8ABB3B5BEE00D0A0D0A0D0A";
byte[] arr = Hex2ByteArr(str);
string 你要的字符串 = System.Text.Encoding.Default.GetString(arr);
你如果不想用,可以直接在代码里写string str="5B6C6973745D0D0A6974656D5F6E6F3D360D0A6974656D303D3430302C20312C20302C5C6673333233325C433031393030305C5331305C63323535323535303030303030C7EBB1A3B3D6B0B2C8ABB3B5BEE00D0A0D0A0D0A";
int len = src.Length/2;
byte[] arr = new byte[len];
for(int i=0;i<len;i++)
{
arr[i] = Convert.ToByte(src.Substring(i*2,2),16);
}
string 你要的字符串 = System.Text.Encoding.Default.GetString(arr);
Console.WriteLine(System.Text.Encoding.GetEncoding("gb2312").GetString(buffer));.NET XMLCONVERT 有这个方法,只不过是internal的,用发射调用就可以了. xml序列华的时候,对于byte 她就是这样编码的
看我的代码,还不明白吗?测试通过符合楼主要求的
但是对于汉字来说,使用Encoding.Default不是明智之举。
Montaque大哥太牛了...... 跟你学了一招 前两天一直因为不能调internal方法而头疼
刚试了control.sendmessage。几位大哥已经把问题解决了 我就不多嘴了
非常认同你的处理问题的思路