|
|
|
Forum Member
      
участник
Last Login: 28.09.2007 12:58
Сообщ.: 25,
Visits: 179
|
|
| Есть строчка "\"\\u0230\"", надо из нее сделать строчку "\u0230", которая соответствует какойто букве в Unicode.
|
|
|
|
|
новичок
      
участник
Last Login: 04.07.2006 1:28
Сообщ.: 2,
Visits: 4
|
|
| вот Тебе общий рецепт, атам -Шеф-Повор!Удачи.. using System; using System.Text;
public class SamplesEncoding {
public static void Main() {
// Кодировки // Latin Small Letter Z (U+007A) // Latin Small Letter A (U+0061) // Combining Breve (U+0306) // Latin Small Letter AE With Acute (U+01FD) // Greek Small Letter Beta (U+03B2) // a high-surrogate value (U+D8FF) // a low-surrogate value (U+DCFF) char[] myChars = new char[] { 'z', 'a', '\u0306', '\u01FD', '\u03B2', '\uD8FF', '\uDCFF' };
// Различные кодировки Encoding u7 = Encoding.UTF7; Encoding u8 = Encoding.UTF8; Encoding u16LE = Encoding.Unicode; Encoding u16BE = Encoding.BigEndianUnicode; Encoding u32 = Encoding.UTF32;
// кодировка и вывод на печать результирующих байтов PrintCountsAndBytes( myChars, u7 ); PrintCountsAndBytes( myChars, u8 ); PrintCountsAndBytes( myChars, u16LE ); PrintCountsAndBytes( myChars, u16BE ); PrintCountsAndBytes( myChars, u32 );
}
public static void PrintCountsAndBytes( char[] chars, Encoding enc ) {
// Вывод текущей кодировки Console.Write( "{0,-30} :", enc.ToString() );
// int iBC = enc.GetByteCount( chars ); Console.Write( " {0,-3}", iBC );
// получить максимальный размер в байтах(!) int iMBC = enc.GetMaxByteCount( chars.Length ); Console.Write( " {0,-3} :", iMBC );
// Кодироание массива символов byte[] bytes = enc.GetBytes( chars );
// печать закодированных байтов PrintHexBytes( bytes );
}
public static void PrintHexBytes( byte[] bytes ) {
if (( bytes == null ) || ( bytes.Length == 0 )) Console.WriteLine( "<none>" ); else { for ( int i = 0; i < bytes.Length; i++ ) Console.Write( "{0:X2} ", bytes[i] ); Console.WriteLine(); }
}
}
simple coder
|
|
|
|
|
Supreme Being
      
участник
Last Login: 21.07.2006 17:11
Сообщ.: 484,
Visits: 5 211
|
|
| >Есть строчка "\"\\u0230\"", надо из нее сделать строчку "\u0230", которая соответствует какойто букве в Unicode. В данном случае для приведения одной строки к другой проще всего использовать String.Replace (ну или регекспы если что-то совсем сложное будет).
|
|
|
|