int value = Convert.ToInt32('o');
Byte[] b = new Byte[] { (byte)value };
File.WriteAllBytes(Default.ProjectsPath , b);
當我打開文件時它顯示o
,我想寫字節值到文件中?將十六進制字符串轉換爲整數
int value = Convert.ToInt32('o');
Byte[] b = new Byte[] { (byte)value };
File.WriteAllBytes(Default.ProjectsPath , b);
當我打開文件時它顯示o
,我想寫字節值到文件中?將十六進制字符串轉換爲整數
刪除0x
然後將其轉換:
int i = Convert.ToInt32("0xFE".Substring(2), 16);
,給我i = 254 我想i = 0xFE – 2014-10-17 11:34:56
是的,FE是254十進制... – 2014-10-17 11:35:34
您原來的'String.Format(「0x {0:X}」,254);'做到這一點,不是嗎? – 2014-10-17 11:36:57
Convert.ToInt16(string)
將無法轉換與加「0x」開頭的字符串,即使這對基地16個數字正確的符號。如果你想使用你的解決方案,你需要從字符串轉換中去掉「0x」。更換
string s=String.Format("0x{0:X}", value);
與
或者你可以用K.亞歷克斯的想法和替換
int x=Convert.ToInt16(s);
與
int x=Convert.ToInt16(s.Substring(2));
如果你是一個生產字符串在第一個地方,然後像Alex Barac建議,不要放置一個0x前綴...(爲什麼創建你不需要的問題)
如果你必須有前綴,使用它...如果前綴是'0x'使用
int i = Convert.ToInt32("0xFE".Substring(2), 16);
爲亞歷克斯K.建議
如果不加 '0x',那麼它probobally一個Base10號:
int i = Convert.ToInt32("342", 10);
什麼是例外?在哪一行?什麼是「價值」?什麼是你的「CurrentCulture」? – 2014-10-17 11:27:20