Diciamo che ho un carattere cinese casuale, 玩. Voglio convertirlo in Unicode, che sarebbe U + 73A9. Come potrei farlo in C#?Conversione di caratteri cinesi in Unicode
risposta
Prendere MyChar come char referenziare la tua carattere speciale ...
Console.WriteLine("{0} U+{1:x4} {2}", myChar, (int)myChar, (int)myChar);
Sopra stiamo producendo il carattere stesso seguito dal punto di codice Unicode e quindi il valore intero.
Ridurre la stringa di formato e parametri di uscita solo la "U + ..." codice ...
Console.WriteLine("U+{0:x4}", (int)myChar);
Grazie, è fantastico! Potresti spiegarmi il codice? Capisco che tu stia solo scrivendo l'U +, ma cosa è '{0: x4}'? So che uno di loro è un identificatore, quindi cos'è ': x4'? – Mass
Il 'x4' lo emette come esadecimale (x), a 4 cifre zero imbottite a sinistra. – Chris
Grazie! (15 caratteri ...) – Mass
Il characater 玩 è in Unicode.
Se lo si ha in C# come 玩, è attualmente in UTF-16, che è uno dei moduli di codifica Unicode.
Se si sta ottenendo da qualche altra parte è necessario:
- Trova la codifica è in
- Prendi il byte (avvolta da un flusso è bello)..
- Ottenere di scrivere un codificatore appropriato.
- Utilizzare il codificatore per ottenere la stringa (il wrapping del flusso piacevole con un test di stampa è più bello).
Fase 3 può essere semplice (oh, mi basta usare che uno!) O duro (accidenti, sono a scrivere io!), O una via di mezzo (hey, nessuno scritto uno di questi già ?!)
Un po 'esempio più lungo, che segue il modello di risposta di Jon Hanna:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace UnicodeDecodeConsoleApplication
{
class Program
{
static void Main(string[] args)
{
char c = '\u73a9';
char[] chars = {c};
Encoding encoding = Encoding.BigEndianUnicode;
byte[] decodeds = encoding.GetBytes(chars);
StringBuilder stringBuilder = new StringBuilder("U+");
foreach (byte decoded in decodeds)
{
stringBuilder.Append(decoded.ToString("x2"));
}
Console.WriteLine(stringBuilder);
Console.ReadLine();
}
}
}
- jeroen
- 1. ReportLab: funziona con caratteri cinesi/Unicode
- 2. Caratteri Unicode in PyGame
- 3. URL Escaping caratteri Unicode cinesi/giapponesi per Internet Explorer
- 4. conversione Unicode ed esportazione in R
- 5. Caratteri cinesi e evento onkeypress
- 6. Visualizzazione codifica UTF-8 caratteri cinesi in R
- 7. Per dividere solo caratteri cinesi in java
- 8. come rimuovere caratteri cinesi in una stringa
- 9. Quali caratteri NON sono presenti in Unicode?
- 10. Test per i caratteri giapponesi/cinesi in una stringa
- 11. Stampa di caratteri Unicode
- 12. GDAL GDALRATSetValueAsString() come salvare i caratteri cinesi (C#)?
- 13. impedire al browser di conversione '\ n' tra le linee nello spazio (per i caratteri cinesi)
- 14. Come rendere Haskell o ghci in grado di mostrare caratteri cinesi ed eseguire caratteri cinesi chiamati script?
- 15. I caratteri cinesi sono ammessi negli URL?
- 16. riconoscimento caratteri cinesi con Tesseract OCR
- 17. Caratteri visivamente identici in Unicode
- 18. Sostituisci caratteri unicode in PostgreSQL
- 19. caratteri Unicode Usa in strings.xml
- 20. Caratteri giapponesi simili a quelli cinesi su Android
- 21. Elenco di caratteri alfabetici Unicode
- 22. Gestione di caratteri arabi in unicode
- 23. Caratteri unicode Java
- 24. Stampa caratteri Unicode PHP
- 25. UTF-8 larghezza di visualizzazione di Emissione dei caratteri cinesi
- 26. Url Codifica caratteri Unicode
- 27. Base64ing Caratteri Unicode
- 28. Python CSV scrive su file illeggibile in Excel (caratteri cinesi)
- 29. La console Java non sta leggendo correttamente in caratteri cinesi
- 30. conversione di nomi di simboli MathematicalPI in Unicode
Da dove viene questo carattere cinese? Input della tastiera? Da un file su disco? Quale codepage o codifica viene utilizzata in quel file? (Cinese semplificato, cinese tradizionale o ??) È necessario sapere quale codifica viene utilizzata nei byte di input prima di poter essere convertita in modo significativo in un'altra codifica. – dthorpe
Ingresso tastiera, utilizzando UTF (16 Immagino che dovrebbe avere la maggior parte dei caratteri), semplificato o tradizionale. – Mass