int value = Convert.ToInt32('o');
Byte[] b = new Byte[] { ( byte)value };
File.WriteAllBytes(Default.ProjectsPath , b);
当我打开文件时显示o
,我想将字节值写入文件?
答案 0 :(得分:2)
删除0x
,然后转换:
int i = Convert.ToInt32("0xFE".Substring(2), 16);
答案 1 :(得分:0)
Convert.ToInt16(string)
将无法转换以' 0x'开头的字符串,即使它是基数为16的正确表示法。如果您想使用您的解决方案,则需要删除" 0x"从字符串转换。取代
string s=String.Format("0x{0:X}", value);
与
string s=String.Format("{0:x}", value);
或者您可以使用Alex K的想法并替换
int x=Convert.ToInt16(s);
与
int x=Convert.ToInt16(s.Substring(2));
答案 2 :(得分:0)
如果您是第一个产生字符串的人,那么就像 Alex Barac 建议的那样,不要放置一个0x前缀...(为什么会产生你不需要的问题)
如果你必须有前缀,请使用它...如果前缀是' 0x'使用
int i = Convert.ToInt32("0xFE".Substring(2), 16);
为 Alex K。建议
如果不是' 0x',那么它可能是一个Base10号码:
int i = Convert.ToInt32("342", 10);