c# 字符串如何转十六进制而非ascii码

例如:我在textbox输入一个dd ,我想把它存储为0xdd这样子的十六进制,有没有大神知道呢

你大概弄错了,我们平时所指的十六进制都是指十六进制字符串,所以你输入dd,与0xdd是没有任何区别的,都是普通的字符串,只需要在前面附加上"0x"就可以了,实际上我们平时在使用的时候,基本上不也会去存0x这种东西。追问

不对,你这样说的话,dd就占了两个字节,而0xdd是一个字节好不

追答

注意,我说的是你提到的十六进制,如果你要存0xdd,也就是一字节的数值,那实际上就是类似于
byte bt=Convert.ToByte("dd", 16);
它是以二进制存储的,不存在十六进制之类的说法,仅仅只有当你把bt再次转换为十六进制字符串"dd",再自己在前面附加字符串"0x",才会得到"0xdd"这样的东西 。

追问

0xdd我只是用了表示他是十六进制。。

追答

我想已经说的很清楚了,除非你把它存成字符串,否则是没办法存储为0xdd这样的格式的。

追问

额,可能我是用了单片机的方式来想这个问题了

追答

单片机中的C语言本质上仍然没有区别,你只需要记住十六进制的就一定是十六进制字符串,所谓的0xdd实际上就是一个十进制值为221的字节

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-07-11
// 转为字节数组 Default 当前系统的编码
// 相关的有 ASCII, UTF-8,UTF-7,UTF-32等等一百多个编码方式
var bytes = Encoding.Default.GetBytes(txtbox.Text);
// 相同的可以使用来解码
var bytes = Encoding.GetEncoding("GB2312").GetBytes(txtbox.Text);

第2个回答  2014-07-11
Convert.ToString(16, 16)结果是0xF,数据存储上不需要做特殊处理,存10进制就行,用的时候转成16进制输出即可。
第3个回答  2014-07-17
stirng a = textBox1.Text.ToString("X");
第4个回答  2014-07-11
这位大神syht2000,已经说的很清楚了,很对,你要存成字符串就可以

c#把char改成16进制显示固定两位01
在 C# 中,可以使用 Convert.ToString() 方法将 char 类型转换为 16 进制字符串。然后使用 String.PadLeft() 方法在转换后的字符串左侧添加 0,使其显示固定的两位。示例代码如下:这段代码会将字符'A'转换成16进制'41',并用0填充成'41' 显示在控制台上 需要注意的是,这个方法只能在字符的 AS...

C# 怎么把汉字转换成16进制
先把字符串转成byte数组,再把byte数组中的每个元素以16进制形式的字符串保存到字符串数组中,再根据字符串数组中的每个元素转换回byte数组,再根据byte数组生成字符串 string str = "你好";byte[] bytes = Encoding.Unicode.GetBytes(str);string[] strArr = new string[bytes.Length];Console.WriteL...

怎么将C# 中textbox的字符串转为16进制 然后以16进制相加?
我想你搞错了,转16进制不是给每一个字符加上0x就表示转化为16进制,0x只是表示这个数为16进制表示法。byte[] b = Encoding.ASCII.GetBytes(TextBox1.Text);\/\/按照指定编码将string编程字节数组 string result = string.Empty;for (int i = 0; i < b.Length; i++)\/\/逐字节变为16进制字符 ...

C#中字符串转换成16进制BYTE数组
byte byts=(byte)Convert.ToInt32("123",16);如果你想将字符串数组中的内容转换成单个的Int值的再转成16进制,再转成byte数组的话,那帮你举个列子 1、2、3的16进制ASCII码分别为31、32、33 byte[] byts=new byte[3];byts[0]=(byte)0x31;byts[1]=(byte)0x32;byts[2]=(byte)0x...

“C#”如何把字符串转化为十六进制的ASCII码?
输入代码。十六进制批量转ASCII,代码如下:private void button1_Click(object sender,EventArgs e){ textBox2.Text= HexStringToASCII(textBox1.Text);}\/\/\/ \/\/\/ 将一条十六进制字符串转换为ASCII\/\/\/ \/\/\/ 一条十六进制字符串\/\/\/ <returns>返回一条ASCII码<\/returns>public static string HexStrin...

字符串怎么转换成16进制byte
字符串先转换二进制的在在转换16进制Byte 如下用C#实现的方法 字符转换到二进制方法 private static byte[] strToToHexByte(string hexString){ hexString = hexString.Replace(" ", "");if ((hexString.Length % 2) != 0)hexString += " ";byte[] returnBytes = new byte[hexString.Length \/...

C#如何把字符串转化为十六进制的ASCII码?
char[]chars=s.toCharArray();java中是这样变的C里应该也有这样的函数 你找找字符串函数

c#进制是怎么转换的?
标准ASCII码使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符。67是十进制,后面的每个字母加1就可以,加到F就是加3,为70。C语言中的表达:在C语言里,整数有三种表示形式:十进制,八进制,十六进制。其中以数字0...

...标点符号的一段文字转换为16进制,并从16进制在转换回来
\/\/16进制转回字符串 string xx = ""; string s = dataBuff; string[] cip = new string[s.Length \/ 2]; for (int i = 0; i < s.Length \/ 2; i++) { cip[i] = s.Substring(2 * i, 2); }

c# 串口接收 字符 数字 ASCII 转换
byte[] buf = System.Text.ASCIIEncoding.ASCII.GetBytes(textbox.Text);textboxAsc16.Text = "";for (int i = 0; i < buf.Length; i++){ \/\/显示字符的16进制ASCII码 textboxAsc16.Text = textboxAsc16.Text + Convert.ToString(buf[i], 16);} ...

相似回答