0

大家早上好,晚上好!

我有一个格式的字符串,比如"0x0SD30SV8GN48N84GN"代表一个字节数组......我怎么能把它打开byte[]

实际的字符串相当长。

它代表一个 UTF-8 格式的字符串,我试图将其转换为UTF-32...

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

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

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

4

3 回答 3

4
byte[] array = Encoding.UTF32.GetBytes(somestring);
于 2012-07-31T21:59:22.217 回答
1
 string yourstring ="0x0SD30SV8GN48N84GN";
 byte[] array = Encoding.UTF32.GetBytes(yourstring);

看看这个链接。 另外,这里还有一个关于stackoverflow的非常相似的问题

于 2012-07-31T21:58:40.027 回答
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 );
于 2012-07-31T22:26:54.683 回答