【发布时间】:2011-02-11 18:39:56
【问题描述】:
我需要将 char 转换为十六进制值。请参阅 Ascii 表,但我在下面列出了一些示例:
- 字符 1 = 31 2 = 32 3 = 33 4 = 34 5 = 35 A = 41 a = 61 等
因此字符串 str = "12345"; 需要得到转换后的str = "3132333435"
【问题讨论】:
标签: c# asp.net visual-studio winforms
我需要将 char 转换为十六进制值。请参阅 Ascii 表,但我在下面列出了一些示例:
因此字符串 str = "12345"; 需要得到转换后的str = "3132333435"
【问题讨论】:
标签: c# asp.net visual-studio winforms
我想这就是你所需要的:
string finalValue;
byte[] ascii = Encoding.ASCII.GetBytes(yourString);
foreach (Byte b in ascii)
{
finalValue += b.ToString("X");
}
MSDN 上的更多信息:http://msdn.microsoft.com/en-us/library/system.text.encoding.ascii.aspx
编辑:转十六进制:
string finalValue;
int value;
foreach (char c in myString)
{
value = Convert.ToInt32(c);
finalValue += value.ToString("X");
// or finalValue = String.Format("{0}{1:X}", finalValue, value);
}
// use finalValue
【讨论】:
string.Join("", from c in "12345" select ((int)c).ToString("X"));
【讨论】:
string s = "abc123";
foreach(char c in s)
{
Response.Write((int)c + ",");
}
【讨论】:
在一行中得到它,并且更具可读性(imo)
var result = "12345".Aggregate("", (res, c) => res + ((byte)c).ToString("X"));
这将返回 "3132333435",正如您所要求的 :)
【讨论】: