Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
var charArray = new char[count];
for (int i = start, c = 0; c < count; c++, i++)
charArray[c] = chars[bytes[i]];
return new string(charArray);
* This source code was highlighted with Source Code Highlighter.var chars = new char[bytes.Length]; Array.Copy(bytes, chars, bytes.Length); return new string(chars);
public static string GetString(byte[] bytes, int offset, int length)
{
if (bytes == null)
throw new ArgumentNullException("bytes");
if (offset < 0 || offset >= bytes.Length)
throw new ArgumentException("offset");
if (length < 0 || offset + length > bytes.Length)
throw new ArgumentException("length");
var sb = new char[length];
length += offset;
for (var i = offset; i < length; i++)
{
byte b = bytes[i];
if (b < 128)
{
sb[i] = (char)b;
}
else if (b >= 192)
{
sb[i] = (char)(848 + b);
}
else
{
switch (b)
{
case 128: sb[i] = '\u0402'; break;
case 129: sb[i] = '\u0403'; break;
case 130: sb[i] = '\u201A'; break;
case 131: sb[i] = '\u0453'; break;
case 132: sb[i] = '\u201E'; break;
case 133: sb[i] = '\u2026'; break;
case 134: sb[i] = '\u2020'; break;
case 135: sb[i] = '\u2021'; break;
case 136: sb[i] = '\u20AC'; break;
case 137: sb[i] = '\u2030'; break;
case 138: sb[i] = '\u0409'; break;
case 139: sb[i] = '\u2039'; break;
case 140: sb[i] = '\u040A'; break;
case 141: sb[i] = '\u040C'; break;
case 142: sb[i] = '\u040B'; break;
case 143: sb[i] = '\u040F'; break;
case 144: sb[i] = '\u0452'; break;
case 145: sb[i] = '\u2018'; break;
case 146: sb[i] = '\u2019'; break;
case 147: sb[i] = '\u201C'; break;
case 148: sb[i] = '\u201D'; break;
case 149: sb[i] = '\u2022'; break;
case 150: sb[i] = '\u2013'; break;
case 151: sb[i] = '\u2014'; break;
case 152: sb[i] = '\u0098'; break;
case 153: sb[i] = '\u2122'; break;
case 154: sb[i] = '\u0459'; break;
case 155: sb[i] = '\u203A'; break;
case 156: sb[i] = '\u045A'; break;
case 157: sb[i] = '\u045C'; break;
case 158: sb[i] = '\u045B'; break;
case 159: sb[i] = '\u045F'; break;
case 160: sb[i] = '\u00A0'; break;
case 161: sb[i] = '\u040E'; break;
case 162: sb[i] = '\u045E'; break;
case 163: sb[i] = '\u0408'; break;
case 164: sb[i] = '\u00A4'; break;
case 165: sb[i] = '\u0490'; break;
case 166: sb[i] = '\u00A6'; break;
case 167: sb[i] = '\u00A7'; break;
case 168: sb[i] = '\u0401'; break;
case 169: sb[i] = '\u00A9'; break;
case 170: sb[i] = '\u0404'; break;
case 171: sb[i] = '\u00AB'; break;
case 172: sb[i] = '\u00AC'; break;
case 173: sb[i] = '\u00AD'; break;
case 174: sb[i] = '\u00AE'; break;
case 175: sb[i] = '\u0407'; break;
case 176: sb[i] = '\u00B0'; break;
case 177: sb[i] = '\u00B1'; break;
case 178: sb[i] = '\u0406'; break;
case 179: sb[i] = '\u0456'; break;
case 180: sb[i] = '\u0491'; break;
case 181: sb[i] = '\u00B5'; break;
case 182: sb[i] = '\u00B6'; break;
case 183: sb[i] = '\u00B7'; break;
case 184: sb[i] = '\u0451'; break;
case 185: sb[i] = '\u2116'; break;
case 186: sb[i] = '\u0454'; break;
case 187: sb[i] = '\u00BB'; break;
case 188: sb[i] = '\u0458'; break;
case 189: sb[i] = '\u0405'; break;
case 190: sb[i] = '\u0455'; break;
case 191: sb[i] = '\u0457'; break;
}
}
}
return new string(sb);
}
* This source code was highlighted with Source Code Highlighter.
Silverlight и кодировки