Pinyin chino C / C ++

Juntos vamos primero entender lo que es la codificación UNICODE?
Unicode (Unicode, Unicode, individual) en el campo de la informática es un estándar de la industria, incluyendo juegos de caracteres, sistemas de codificación. tabla de códigos ASCll todos lo sabemos, y el código Unicode se puede decir que se extienden código Ascall. Hay tablas Uincode, correspondientes a diferentes personajes:
4E00-9FA5: campo de chino
0000-007F: de control C0 y latino básico (control C0 y Basic Latina)
0080-00FF: un control C1 y suplementarias América -1 (C1 América el Suplemento 1 y control).
0100-017F: América extendieron -A (América extendió-a)
0180-024F: América extendió -B (América extendido-B)
0250-02AF: extensiones para el Alfabeto fonético Internacional (extensiones de IPA)
02B0-02FF : Modificador letras en blanco (espacio entre los modificadores)
0300-036F: combinado con signos diacríticos (combinando diacríticos marcas)
0370-03FF: griego y copto (griego y copto)
0400-04FF: alfabeto cirílico (alfabeto cirílico)
0500-052F: cirílico suplemento (suplemento cirílico)
0530-058F: armenia (armenia)
0590-05FF: hebreo (hebreo)
0600-06FF: árabe (árabe)
0700-074F: siríaco (siríaco)
0750-077F: Suplemento Árabe (Suplemento árabe)
0780-07BF: Maldivas (Thaana)
07C0-077F: Nko (N'Ko)
0800-085F: Avesta y el lenguaje Pahlavi (Avesta y Pahlavi )
0860-087F: Mandaic
0880-08AF: lenguaje Samaria (samaritano)
0900-097F: instrumentos Amagi (devanagari)
0980-09FF: bengalí (bengalí)
0A00-0A7F: texto sij (Gurmukhi)
0A80-0AFF: guitarra vieja texto LVL (Gujarati)
0B00-0B7F: texto Oria (Oriya)
0B80-0BFF: Tamil (Tamil)
0C00-0C7F: Telugu (Telugu)
0C80-0CFF: Kannada (Kannada)
0D00 -0D7F: Della idioma Uygur (malayalam)
0D80-0DFF: cingaleses (cingalés)
0E00-0E7F: Thai (tailandés)
0E80-0EFF: Lao (Laos)
0F00-0FFF: tibetana (tibetano)
1000-109F Sagrado de Birmania (Myanmar)
10A0-10FF: Georgia (Georgia)
1100-11FF: Corea (Hangul Jamo)
1200-137F: lengua etíope (etíope)
1380-139F: Suplemento Etíope (Suplemento Etíope)
13A0-13FF: Cherokee (Cherokee)
1400-167F: Unified indígena canadiense Festival de voz (Unified indígena canadiense silábica)
1680-169F: Ogham (Ogham)
16A0-16FF: como Niven (Runic)
1700-171F: Tagalo (tagalog)
1720-173F: Hanunóo
1740-175F: buhid
1760-177F: Tagbanwa
1780-17FF: Khmer ( khmer)
1800-18AF: mongol (Mongolia)
18B0-18FF: Cham
1900-194F: limbu
1950-197F: Dehong tailandés (Tai Le)
1980-19DF: Tai nuevo lenguaje Lu (Tai nuevo Lue)
19E0-19FF: alta el lenguaje de signos de algodón (Símbolos KMER)
1A00-1A1F: buginés
1A20-1A5F: Batak
1A80-1AEF: Lanna
1B00-1B7F: Bali (Bali)
1B80-1BB0: Sudanés (Sudanés)
1BC0-1BFF: Pahawh Hmong
1C00-1C4F: Lepcha (Lepcha)
1C50-1C7F: Ol Chiki
1C80-1CDF: Manipuri (Meithei / en Manipuri)
1D00-1D7F: extensión fonética (fonética Extensiones)
1D80-1DBF: fonética Extensiones Suplemento
1DC0 -1DFF: combina con diacríticos suplemento (Combinando diacríticos marcas suplemento)
1E00-1EFF: extensión adicional (Latin extendido adicional) América
1F00-1FFF: la expansión griega (griego extendido)
2000-206F: puntuacion común (puntuacion general)
2070- 209F: superíndice y subíndice (superíndices y subíndices)
20A0-20CF: símbolo de moneda (los símbolos de moneda)
20D0-20FF: combinación de símbolos (por combinación de símbolos Diacritics Marks)
2100-214F: carta símbolos fórmula (a letras símbolos)
2150-218F : forma digital (número el Form1)
2190-21FF: flecha (flechas)
2200-22FF: operadores matemáticos (matemática el operador)
2300-23FF: diverso técnica (diverso técnica)
2400-243F: Imagen de Control (Control Pictures)
2440-245F: Reconocimiento óptico de caracteres (Optical Character Recognition)
2460-24FF: alfanumérica cerrado (cerrado alfanuméricos)
2500-257F: pestaña (dibujo de cuadro)
2580-259F: Bloque elementos (el elemento de bloque)
25A0-25FF: geometría (geométrica las formas)
2600-26FF: símbolos diversos (símbolos diversos)
2700-27BF: un símbolo impreso (Dingbats)
27C0-27EF: símbolos matemáticos diverso -A (matemáticos diversos símbolos-a)
27F0-27FF: Suplementario flechas -A (Supplemental flechas-A)
2800-28FF: modelo de Braille (patrones de Braille)
2900-297F: append flecha -B (Supplemental flechas-B)
2980-29FF: diversos matemática símbolos -B (diverso símbolos B-matemática)
2A00-2AFF: operadores matemáticos adicionales (Supplemental matemáticos el operador)
2B00-2BFF: símbolo y flechas Varios (símbolos diverso y flechas)
2C00-2C5F: Glagolitic (Glagolitic)
2C60-2C7F: -C extendido América (América Extended-C)
2C80-2CFF: antigua lengua egipcia (copto)
2D00-2D2F: suplemento de Georgia (Suplemento georgiano)
2D30-2D7F: tifinagh (tifinagh)
2D80-2DDF : etíope extendido (etíope extendido)
2E00-2E7F: suplementario puntuacion (suplementario puntuacion)
2E80-2EFF: CJK radicales suplemento (suplemento radicales CJC)
2F00-2FDF: Kangxi Radical (radicales de Kangxi)
2FF0-2FFF: Descripción ideográfico personaje (la descripción de caracteres ideográficos)
3000-303F: CJK símbolos y puntuacion (CJC símbolos y puntuacion como)
3040-309F: Hiragana (Hiragana)
30A0-30FF: Katakana (Katakana)
3100-312F: alfabeto fonético (Bopomofo)
3130 -318F: alfabeto coreano compatible (Hangul Jamo Compatibilidad)
3190-319F: comentario signo pictograma (Kambun)
31A0-31BF: extendido alfabeto fonético (Bopomofo extendido)
31C0-31EF: accidente cerebrovascular CJK (golpes CJC)
31F0-31FF: Katakana fonético Extensiones (Katakana fonético Extensiones)
3200-32FF: Se adjunta CJC Cartas y Meses (adjunto CJC cartas y meses)
3300-33FF: CJK compatibles (CJK) Compatibilidad
3400-4DBF: CJK unificadas ideogramas extensión A (CJK unificado ideogramas Extensión A)
4DC0-4DFF: I Ching símbolo hexagrama (Yijing hexagrams símbolos)
4E00-9FBF: ideogramas CJK unificadas (CJK ideogramas unificadas)
A000-A48F: Yi sílaba (sílabas YI)
A490- A4CF: root Yi (Yi radicales)
A500-A61F: Vai
A660-A6FF: unificado indígena canadiense sección de voz suplemento
A700-A71F: tono letras modificadoras (letras tono modificador)
A720-A7FF: América extendió -D (América extendido-D )
A800-A82F: Syloti Nagri
A840-A87F: Pagba palabra (Phags-PA)
A880-A8DF: Saurashtra
A900-A97F: Java (Java)
A980-A9DF: chakma
AA00-AA3F: Varang Kshiti
AA40-AA6F: Sorang Sompeng
AA80-AADF: newari
AB00-AB5F: Vietnam Dai (Vi t Thái?)
AB80-ABA0: Kayah Li
AC00-D7AF: sílabas Hangul (Hangul sílabas)
D800-DBFF: Medio-Alto Zona de 16-UTF
DC00-DFFF: baja-Media zona de UTF-16
E000 F8FF: auto-usada zona (la zona de uso privado)
F900-faff: CJK compatibilidad Ideographs (CJK compatibilidad Ideographs)
FB00-FB4F: alfabeto forma de expresión (Presentación alfabético Form1)
FB50-FDFF: forma árabe Presentación a (la Presentación Form1 árabe-a)
FE00-FE0F: selector variable (selector Variación)
FE10-FE1F: forma vertical (formas vertical)
media en combinación con el símbolo medio (combinando: FE20 el FE2F- Marks)
FE30 el FE4F-: CJK formas de compatibilidad (formas de compatibilidad CJK)
Fe50-FE6F: pequeñas formas variantes (Form1 las pequeñas variantes)
FE70 el-la Feff: árabe Presentación forma B (árabe Presentación forma-B)
FF00-FFEF: mitad del molde y el formulario completo (Form1 de media anchura y fullwidth)
FFF0-FFFF: Especial (las ofertas)

línea divisoria magnífico ============================================== =======================

// determina si un carácter en chino, evidentes a partir de la tabla anterior, la codificación UNICODE gama en chino ~ 0x9FA5 0x4E00 
BOOL IsChinese (QChar qch)
{
    ushort Unicode = qch.unicode ();
    si (Unicode> = 0x4E00 && Unicode <= 0x9FA5 )
    {
        volver  verdadera ;
    }
    volver  falsa ;
}
// Esto ha sido, si la entrada de caracteres chinos
Zh2PinYinUtils QString :: Zh2PinYin ( const QString y chinos)
{
    QString pinyins;
    para ( int i = 0 ; i <chinese.length (); ++ i)
    {
        int Unicode = QString :: número (chinese.at (i) .unicode (), 10 ) .toint ();
        si (Unicode> = 0x4E00 && Unicode <= 0x9FA5 )
        {
        // aquí está de acuerdo array Unicode_Table UNICODE para cada chino Pinyin correspondientes; 
            pinyins.append (Unicode_Table [Unicode - 0x4E00 ]);
        }
        más
        {
        // Esto no es chino, no hacemos ningún tipo de tratamiento, reservado; 
            pinyins.append (chinese.at (i));
        }
        pinyins.append ( "  " );
    }
    volver pinyins;
}
// para que pueda obtener la correspondiente pinyin chino

 

Supongo que te gusta

Origin www.cnblogs.com/qq702368956/p/12652626.html
Recomendado
Clasificación