Llegeix en anglès

Comparteix a través de


Char.ConvertToUtf32 Método

Definición

Convierte el valor de un par suplente codificado mediante UTF-16 en un punto de código Unicode.

Sobrecargas

ConvertToUtf32(Char, Char)

Convierte el valor de un par suplente codificado mediante UTF-16 en un punto de código Unicode.

ConvertToUtf32(String, Int32)

Convierte el valor de un par suplente o carácter codificado mediante UTF-16 que está situado en una posición concreta de una cadena en un punto de código Unicode.

Ejemplos

En el ejemplo de código siguiente se muestran los ConvertToUtf32 métodos ConvertFromUtf32 y .

// This example demonstrates the Char.ConvertFromUtf32() method
//                           and Char.ConvertToUtf32() overloads.
using System;

class Sample
{
    public static void Main()
    {
    int letterA = 0x0041;  //U+00041 = LATIN CAPITAL LETTER A
    int music   = 0x1D161; //U+1D161 = MUSICAL SYMBOL SIXTEENTH NOTE
    string s1;
    string comment   = "Create a UTF-16 encoded string from a code point.";
    string comment1b = "Create a code point from a UTF-16 encoded string.";
    string comment2b = "Create a code point from a surrogate pair at a certain position in a string.";
    string comment2c = "Create a code point from a high surrogate and a low surrogate code point.";

//  Convert code point U+0041 to UTF-16. The UTF-16 equivalent of
//  U+0041 is a Char with hexadecimal value 0041.

    Console.WriteLine(comment);
    s1 = Char.ConvertFromUtf32(letterA);
    Console.Write("    1a) 0x{0:X} => ", letterA);
    Show(s1);
    Console.WriteLine();

//  Convert the lone UTF-16 character to a code point.

    Console.WriteLine(comment1b);
    letterA = Char.ConvertToUtf32(s1, 0);
    Console.Write("    1b) ");
    Show(s1);
    Console.WriteLine(" => 0x{0:X}", letterA);
    Console.WriteLine();

// -------------------------------------------------------------------

//  Convert the code point U+1D161 to UTF-16. The UTF-16 equivalent of
//  U+1D161 is a surrogate pair with hexadecimal values D834 and DD61.

    Console.WriteLine(comment);
    s1 = Char.ConvertFromUtf32(music);
    Console.Write("    2a) 0x{0:X} => ", music);
    Show(s1);
    Console.WriteLine();

//  Convert the surrogate pair in the string at index position
//  zero to a code point.

    Console.WriteLine(comment2b);
    music = Char.ConvertToUtf32(s1, 0);
    Console.Write("    2b) ");
    Show(s1);
    Console.WriteLine(" => 0x{0:X}", music);

//  Convert the high and low characters in the surrogate pair into a code point.

    Console.WriteLine(comment2c);
    music = Char.ConvertToUtf32(s1[0], s1[1]);
    Console.Write("    2c) ");
    Show(s1);
    Console.WriteLine(" => 0x{0:X}", music);
    }

    private static void Show(string s)
    {
    for (int x = 0; x < s.Length; x++)
        {
        Console.Write("0x{0:X}{1}",
                       (int)s[x],
                       ((x == s.Length-1)? String.Empty : ", "));
        }
    }
}
/*
This example produces the following results:

Create a UTF-16 encoded string from a code point.
    1a) 0x41 => 0x41
Create a code point from a UTF-16 encoded string.
    1b) 0x41 => 0x41

Create a UTF-16 encoded string from a code point.
    2a) 0x1D161 => 0xD834, 0xDD61
Create a code point from a surrogate pair at a certain position in a string.
    2b) 0xD834, 0xDD61 => 0x1D161
Create a code point from a high surrogate and a low surrogate code point.
    2c) 0xD834, 0xDD61 => 0x1D161

*/

ConvertToUtf32(Char, Char)

Convierte el valor de un par suplente codificado mediante UTF-16 en un punto de código Unicode.

public static int ConvertToUtf32 (char highSurrogate, char lowSurrogate);

Parámetros

highSurrogate
Char

Unidad de código suplente alto (es decir, una unidad de código que va de U+D800 a U+DBFF).

lowSurrogate
Char

Unidad de código suplente bajo (es decir, una unidad de código que va de U+DC00 a U+DFFF).

Devoluciones

Int32

Punto de código Unicode de 21 bits que representan los parámetros highSurrogate y lowSurrogate.

Excepciones

highSurrogate no está en el intervalo de U+D800 a U+DBFF, o lowSurrogate no está en el intervalo de U+DC00 a U+DFFF.

Comentarios

Use este método para convertir un par suplente en un punto de código Unicode de 21 bits. Para convertir datos UTF-16 en datos UTF-32, use la System.Text.UTF32Encoding clase .

Normalmente, la codificación UTF-16 representa un único carácter Unicode como una unidad de código de 16 bits. Sin embargo, también admite pares suplentes, que permiten representar un único carácter abstracto como dos unidades de código de 16 bits. Estos dos objetos deben tener unidades de código que van de U+D800 a U+DBFF para el primer suplente (alto) y de U+DC00 a U+DFFF para el segundo Char suplente (bajo). Los pares suplentes solo son compatibles con la codificación UTF-16. Este método permite convertir un carácter representado por un par suplente UTF-16 en un carácter mediante codificación UTF-32.

Consulte también

Se aplica a

ConvertToUtf32(String, Int32)

Convierte el valor de un par suplente o carácter codificado mediante UTF-16 que está situado en una posición concreta de una cadena en un punto de código Unicode.

public static int ConvertToUtf32 (string s, int index);

Parámetros

s
String

Cadena que contiene un carácter o par suplente.

index
Int32

Posición de índice del carácter o par suplente en s.

Devoluciones

Int32

Punto de código Unicode de 21 bits representado por el carácter o par suplente situado en la posición del parámetro s que especifica el parámetro index.

Excepciones

index no es una posición dentro de s.

La posición de índice especificada contiene un par suplente y el primer carácter del par no es un suplente alto válido o el segundo carácter del par no es un suplente bajo válido.

Comentarios

Use este método para convertir un carácter o par suplente en un punto de código Unicode de 21 bits. Para convertir datos UTF-16 en datos UTF-32, use la System.Text.UTF32Encoding clase .

Consulte también

Se aplica a