2011-10-20 21 views
7

¿Cómo se representan los caracteres de 4 bytes en C#? ¿Como un char o un conjunto de 2 caracteres?¿Cómo se representan los caracteres de 4 bytes en C#

var someCharacter = 'x'; //put 4 bytes UTF-16 character 
+0

¿Podría dar un ejemplo de '4 bytes char'? Haría tu pregunta más clara. – jv42

+0

@ jv42, hay algunos caracteres UTF-16 que no se pueden representar con 2 bytes. Así que es cualquier personaje con código de 2^16 – SiberianGuy

+2

Ver el artículo "Unicode y .NET" de Jon Skeet - http://csharpindepth.com/Articles/General/Unicode.aspx – sll

Respuesta

11

C# sólo puede almacenar caracteres de la Basic Multilingual Plane en el tipo char. Para caracteres fuera de este plano, se deben usar dos char s, llamados surrogates.

También puede utilizar una cadena literal, tales como:

string s = "\U0001D11E"; 

Ver UTF-16.

Cuestiones relacionadas