[c#] вопрос по переводу кода в символ
А с каких это пор иероглифы перестали быть символами? Хочешь ascii - делай (charx&0x7F) или другое преобразование с потерей информации, которое тебе нравится.
делай (charx&0x7F)
а шо это за зверь такой? Оо
Encoding.Default.GetBytes
public byte[] deshifr(uint x)
{
string a = "";
a = Convert.ToString(x);
char[] b = new char[a.Length];
int i = 0;
foreach (char c in a)
{
b[i++] = c;
}
byte[] k = Encoding.Default.GetBytes(b);
return k;
}
зы если че, просьба не ржать, ибо я нуб.
ну я имел ввиду что мне нужна латинница и кириллица, а иероглифы ни в одно место не вьелись.а коды тебе зачем для этого?
чем не устраивает решение в лоб?
var text = "x$";
var filteredText = new string(text.Where(ch =>
'a' <= ch && ch <= 'z'
|| 'A' <= ch && ch <= 'Z'
|| 'а' <= ch && ch <= 'я'
|| 'А' <= ch && ch <= 'Я')
.ToArray;
Console.WriteLine(filteredText);
код символа, в собственно символВ C# в Win32 char задаётся в кодировке UTF16-LE
Если ты получаешь значения больше 255 в переменной x, ты не сможешь перевести эти значения в ASCII. Это означает, что либо XSmodR работает неправильно, либо закодированы не ASCII значения.
может тут можно как-нибудь изменить кодировку (или как там это называется) с unicode на ASCII?можно попробовать так (будет без русских):
Encoding.Ascii.GetString(new byte[]{x}, 0, 1)
или так (будет с русскими)
Encoding.GetEncoding(1251).GetString(new byte[]{x}, 0, 1)
ps решение "в лоб" не пройдет, потому что тогда потеряется практически весь текст
так тоже не получаетсяТы напиши, какую задачу решаешь. Что является входными данными и выходными.
блин, тупанул, нашел пару очепяток из-за этого ничего не получалось
Оставить комментарий
tutul9
вопрос, как тут перевести код символа, в собственно символ. х принемает довольно часто большие значения (больше 5000 и поэтому заместо нормальных букв очень часто появляются разные иероглифы. может тут можно как-нибудь изменить кодировку (или как там это называется) с unicode на ASCII?