Convert.ToByte Could not find any recognizable digits
我需要以某种方式将"xxx"转换为byte,但我得到了异常
An unhandled exception of type 'System.FormatException' occurred in
mscorlib.dll
Additional information: Could not find any recognizable digits.
是否可以将"xxx"值转换为字节?
1
| byte tr = (byte)(Convert.ToByte("xxx", 16) << 4); |
- Byte[…]tr=encding.utf8.getbytes("XXX")this work fine but I wondering how can I apply this shifting 16)<4);
- 快去死吧你不能在转换中应用它。
- What you are doing is turning xxx in 16 base to bye.We don't have xxx in 16 base.
- Oh Okey than encounding.utf8.getbytes("XXX")how much base of byte here is?
这一行(Convert.ToByte("xxx", 16) << 4)将返回integer,解析到byte时不能转换为字符串,这就是它抛出System.FormatException的原因。
但是已经有了一个很好的例子来说明如何将字符串转换为byte[]。
1 2 3 4 5 6
| static byte[] GetBytes (string str )
{
byte[] bytes = new byte[str .Length * sizeof(char)];
System.Buffer.BlockCopy(str .ToCharArray(), 0, bytes, 0, bytes .Length);
return bytes ;
} |
示例来源
- Than I got 120,0120,0120,0,but I with encourage.utf8.getbytes("XXX")i can get 120120120120 so maybe is better encoging.utf8.getbytes("XXX")?
- Irmantasmedei?是的,我的方法唯一的好处是,你仍然可以得到数据和重建原始的统计数字,即使它包含了一个无效的数据,因为它只是在字节上看。
如果需要将字符串更改为字节数组:
1
| byte[] toBytes = Encoding.ASCII.GetBytes("xxx"); |
无法将"xxx"转换为字节。它只是不是任何字节的表示。
- Byte[…]tr=encoding.utf8.getbytes("XXX");but with this i got that x is 120
- 什么是真正的价值