Возможно вынуждать char менять Ваше кодирование?

Я понимаю, что, чтобы представлять символы, они используются кодирование, и что, в зависимости от которого она была использована на характере, этот может весить более или менее.

Возможно менять размер или вынуждать в System.Char чтобы представлять символы в 8 битах в.NET?

1
задан 12.04.2016, 18:34
2 ответа

Согласно ей documentaciГіn Microsoft https://msdn.microsoft.com/en-us/library/x9h8tsay.aspx , это не было бы возможным для типа информации System.Char, так как у него есть один tamaГ±o установлено уже установленный с Unicode de 16-bit.

Итак, если ты хочешь работать с какой-то специфической CodificaciГіn deberГ-эксперт использовать типы информации System.Byte, которые вместе с прибылями System.Text.Encoding ты будут позволять работать с данными в других форматах. Например ты можешь делать следующее:

Данных, с которыми он хочет заняться

char[] arrreglo = new char[] { 'H','o', 'l', 'a' } ;            

Данных, хранившихся в формате especГ-fico

byte[] bytesEncoding = System.Text.Encoding.UTF8.GetBytes(arrreglo);

Данных, декодированных с формата especГ-fico

string cadena = System.Text.Encoding.UTF8.GetString(bytesEncoding);
3
ответ дан 24.11.2019, 14:36
  • 1
    То, что я стараюсь делать, что-то из результата относительно представления символов, ввиду того, что char использует 2 байт, осложняется в каких-то операциях, которые нужно осуществлять, и # 233; спасибо! – NaCl 12.04.2016, 18:53

Смоги применять один encoding к цепи, которая конечно является представлением array char

CodificaciГіn символов в.NET Framework

, у Тебя мог бы быть array char, который принадлежал бы одному, если он состоит в том, что ты нуждаешься в том, чтобы работать с уникумом char применяя

Encoding. GetBytes Method ([] Char)

, чтобы получать представление в байт этого характера, тогда было бы

char[] chars = new char[] { 'z', 'a' };

Encoding u8 = Encoding.UTF8;

byte[] bytes = u8.GetBytes(chars);

for ( int i = 0; i < bytes.Length; i++ )
   Console.Write( "{0:X2} ", bytes[i] );

и чтобы возвращаться в string

string cadena = u8.GetString(bytes);

Console.Write(cadena);

, Заметь: помни что определи using System.Text;

2
ответ дан 24.11.2019, 14:36