将字节字符串转换为人类可读的老式字符串

时间:2012-07-31 21:56:32

标签: c# .net

早上好\大家晚上!

我有一个像"0x0SD30SV8GN48N84GN"这样的格式的字符串,它代表一个字节数组......我怎样才能在实际的byte[]上转换它?

实际字符串相当长。

它表示UTF-8格式的字符串,我试图转换为UTF-32 ...

我想要的是把它变成人类可读的字符串......这可能吗?

PS:场景是:我的同事在varbinary列中存储了一个字符串...执行了“选择myVarBinaryColumn FROM mytable”并将结果作为txt发送给我...我需要转换为人类可读字符串..

PS2:字符串可以理解为以下操作的结果:Cast('Hello World'为varbinary(max))

3 个答案:

答案 0 :(得分:4)

byte[] array = Encoding.UTF32.GetBytes(somestring);

答案 1 :(得分:1)

 string yourstring ="0x0SD30SV8GN48N84GN";
 byte[] array = Encoding.UTF32.GetBytes(yourstring);

结帐this link. 另外,stackoverflow here

上有另一个非常相似的问题

答案 2 :(得分:1)

string byteStr = input.Substring(2);
byte[] bytes = new byte [ byteStr.Length / 2 ];
for ( int i = 0, j = 0 ; i < byteStr.Length ; i += 2 , j++ )
{
     bytes [ j ] = byte.Parse ( byteStr.Substring ( i , 2 ) , NumberStyles.HexNumber );
}
string str = Encoding.UTF8.GetString ( bytes );
byte[] UTF32Bytes = Encoding.UTF32.GetBytes ( str );