Необходимо преобразовать строку / символ в значения ASCII - PullRequest
6 голосов
/ 24 апреля 2010

Мне нужно конвертировать char в шестнадцатеричные значения. Обратитесь к таблице Ascii, но у меня есть несколько примеров, перечисленных ниже:

  • символ 1 = 31 2 = 32 3 = 33 4 = 34 5 = 35 А = 41 а = 61 и т. д.

Поэтому string str = "12345"; Нужно получить преобразованный str = "3132333435"

Ответы [ 4 ]

8 голосов
/ 24 апреля 2010

Я думаю, это все, что вам нужно:

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

Редактировать: в Hex:

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
3 голосов
/ 24 апреля 2010
string.Join("", from c in "12345" select ((int)c).ToString("X"));
2 голосов
/ 10 мая 2017
string s = "abc123";
foreach(char c in s)
{
   Response.Write((int)c + ",");
}
1 голос
/ 24 апреля 2010

Чтобы получить его в одну строку, и более читабельным (IMO)

var result = "12345".Aggregate("", (res, c) => res + ((byte)c).ToString("X"));

это возвращает "3132333435", как вы и просили:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...