Haydi rastgele bir Çince karakterim var diyelim, 玩. U + 73A9 olan Unicode'a dönüştürmek istiyorum. Bunu C# nasıl yapabilirim?Çince karakterleri Unicode'a dönüştürme
cevap
Console.WriteLine("{0} U+{1:x4} {2}", myChar, (int)myChar, (int)myChar);
... senin özel karakteri başvuran bir char olarak MyChar atın.
... çıkış sadece "U + ..." kod için biçim dizesi ve parametreleri azaltınConsole.WriteLine("U+{0:x4}", (int)myChar);
gibi bir şey istiyorum Teşekkürler, bu harika! Kodu bana açıklar mısın? Anladığım kadarıyla sadece U + yazıyorsunuz, ama {0: x4} 'nedir? Bunlardan birinin bir miktar belirleyici olduğunu biliyorum, yani: x4' nedir? – Mass
'x4', onaltılık (x), solda 4 basamaklı sıfır yastıklı olarak çıkar. – Chris
Teşekkürler! (15 karakter ...) – Mass
Karakterler Un Unicode'dadır.
Eğer C# olarak var ise, o zaman şu anda Unicode kodlama formlarından biri olan UTF-16'da.
sen başka yerden elde ediyorsanız yapmanız gerekir:
- içinde bulunduğu kodlamayı bulun
- (bir dere güzel tarafından sarılmış) bayt alın..
- Uygun bir Encoder yazınız.
- Dize almak için kodlayıcıyı kullanın (güzel akışları bir textreader ile daha güzel sarma).
Adım 3 (kendim yazmak zorunda, lanetlemek!) Basit (ah, sadece o birini kullanın!) Veya sert olabilir ya da ikisinin arasında (hey, herkes zaten bunlardan birini yazılı ?!)
biz Unicode kod noktası izledi karakteri kendisi ve sonra tamsayı değeri çıktılıyorsanız ÜstüJon Hanna'nın yanıtında bir yol izler Biraz daha uzun bir örnek:
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. Çince karakterleri bir dosya adına yazamazsınız
- 2. htmlentities() Çince karakterleri kullanılamaz hale getiriyor
- 3. Karakterleri ASCII koduna dönüştürme
- 4. Bir web sitesinden Çince karakterleri almak için Mechanize kullanmıyor
- 5. Konsol'u Çince gösterebilir miyim?
- 6. Nasıl filtrelemek için çince (SADECE Çince)
- 7. Özel karakterleri HTML varlıklarına dönüştürme işlemlerini engelle
- 8. Indic Karakterleri Unicode'ye Dönüştürme Kaçan karakterler
- 9. Kaçınan unicode karakterleri unicode gösterimine dönüştürme
- 10. python düzenli Çince hakkında
- 11. Çince metninin kesilmesi
- 12. HTML'mde Çince karakterleri barındırmak için UTF-8'den UTF-16'ya değiştirmem gerekir mi?
- 13. Stanford POS Tagger Çince metni
- 14. Jasper pdf'ye Çince kelime göster
- 15. Çince karakterlerle Python çözme sorunu
- 16. Çince karakterler ve onkeypress olayı
- 17. JSON dizgisini Çince karakterle ayrıştırma
- 18. Dosya adlarında Çince karakterler içeren Ruby'yi kullanan yineleme dizini listesi
- 19. iText Çince karakterlerle PDF oluşturmak için, ancak görüntülenmiyor
- 20. tüm karakterleri
- 21. Geleneksel Çince Karşılıklı olarak Metin Tanıma
- 22. Çince karakterlerin URL'lere girilmesine izin var mı?
- 23. QLocale :: Dil - geleneksel ve basitleştirilmiş Çince? göre
- 24. Tesseract OCR kullanarak Çince karakter tanıma
- 25. Windows Karakterleri Windows Formlarına Yapıştırmak Metin Kutusu Olmuyor
- 26. HTML aksan dönüştürme, ancak etiketlerini
- 27. MySQL'i Dönüştürme PostgreSQL'e Dönüştürme
- 28. Delphi Nesneleri JSON'a Dönüştürme
- 29. GUID'i varchar'a dönüştürme (32)
- 30. unicode dönüştürme ve dışa aktarma R
Bu Çince karakter nereden geliyor? Klavye Girişi? Diskteki bir dosyadan mı? Bu dosyada hangi kod sayfası veya kodlama kullanılıyor? (Basitleştirilmiş Çince, Çince Geleneksel veya ??) Başka bir kodlamaya anlamlı bir şekilde dönüştürebilmek için, giriş baytlarında hangi kodlamanın kullanıldığını bilmeniz gerekir. – dthorpe
Klavye girişi, UTF kullanarak (16 sanırım, karakterlerin çoğuna sahip olmalı), Basitleştirilmiş veya geleneksel. – Mass