Giả sử tôi có ký tự Trung Quốc ngẫu nhiên, 玩. Tôi muốn chuyển đổi nó thành Unicode, sẽ là U + 73A9. Làm thế nào tôi có thể làm điều này trong C#?Chuyển đổi ký tự tiếng Trung thành Unicode
Trả lời
Hãy mychar như một char tham khảo nhân vật đặc biệt của bạn ...
Console.WriteLine("{0} U+{1:x4} {2}", myChar, (int)myChar, (int)myChar);
Trên chúng ta xuất ra nhân vật chính tiếp theo là điểm mã Unicode và sau đó giá trị số nguyên.
Giảm chuỗi định dạng và các thông số đầu ra chỉ là "U + ..." mã ...
Console.WriteLine("U+{0:x4}", (int)myChar);
Cảm ơn, điều này thật tuyệt vời! Bạn có thể giải thích mã cho tôi không? Tôi hiểu bạn đang viết U +, nhưng '{0: x4}' là gì? Tôi biết một trong số họ là một số specifier, vì vậy những gì là ': x4'? – Mass
'x4' xuất ra dưới dạng hex (x), 4 chữ số không được đệm ở bên trái. – Chris
Cảm ơn! (15 ký tự ...) – Mass
Ký hiệu char ater bằng Unicode.
Nếu bạn có nó trong C# là 玩, thì nó hiện đang ở dạng UTF-16, là một trong các dạng mã hóa Unicode.
Nếu bạn đang có được nó từ một nơi nào khác mà bạn cần phải:
- Tìm mã hóa nó là trong
- Lấy byte (bọc bởi một dòng là đẹp)..
- Nhận ghi bộ mã hóa thích hợp.
- Sử dụng bộ mã hóa để lấy chuỗi (gói luồng đẹp bằng trình nhắn tin văn bản đẹp hơn).
Bước 3 Có thể đơn giản (oh, tôi chỉ sử dụng cái đó!) Hoặc cứng (darn, phải tự viết!) Hoặc ở đâu đó (hey, bất cứ ai đã viết một trong những đã ?!)
Một chút ví dụ nữa, mà theo mô hình trong câu trả lời Jon Hanna của:
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. Chuyển đổi tiếng Trung thành bính âm
- 2. chuyển đổi unicode thành ký tự bằng ruby
- 3. Chuyển đổi codepoint unicode thành chuỗi ký tự trong Ruby
- 4. Chuyển đổi ký hiệu tham chiếu ký tự số thành chuỗi unicode
- 5. Cách lọc tiếng Trung (CHỈ tiếng Trung)
- 6. Chuyển đổi unicode ký tự Cyrillic để chuỗi trong python
- 7. Chuyển đổi chuỗi unicode thành chuỗi byte
- 8. Biến đổi ký tự unicode dạng dải
- 9. Nhận dạng ký tự tiếng Trung bằng Tesseract OCR
- 10. Để chỉ tách các ký tự tiếng Trung trong java
- 11. Chuyển đổi CString thành mảng ký tự?
- 12. chuyển đổi% SystemDrive% thành ký tự
- 13. Chuyển đổi số sang ký hiệu Unicode
- 14. Thuật toán chuẩn để chuyển đổi các ký tự unicode thành chữ thường là gì?
- 15. iOS 5: Cách chuyển đổi Biểu tượng cảm xúc thành ký tự unicode?
- 16. Chuyển đổi UTF-16 ký tự unicode thành UTF-8 trong java
- 17. Cách chuyển đổi chuỗi có mã hóa Unicode thành chuỗi ký tự
- 18. Chức năng PHP để chuyển đổi unicode thành các ký tự đặc biệt?
- 19. Hiển thị các ký tự Unicode trong việc chuyển đổi Html thành Pdf
- 20. Làm thế nào để chuyển đổi chuỗi thoát unicode thành các ký tự unicode trong một chuỗi python
- 21. Làm thế nào để chuyển đổi ký tự unicode 00B0 (độ ký)?
- 22. cách sử dụng ký tự tiếng Trung và tiếng Nhật làm chuỗi trong java?
- 23. Chuyển đổi các ký tự có dấu trọng âm thành ký tự ascii
- 24. Python 3.x: Sử dụng string.maketrans() để tạo ra một unicode ký tự chuyển đổi
- 25. Làm thế nào để chuyển đổi Unicode thành ký tự được hiển thị trong trang web bằng JavaScript?
- 26. Chuyển đổi giá trị int thành unicode
- 27. Ký tự Unicode chuỗi
- 28. Làm cách nào để tệp có ký tự tiếng Trung biết số byte sử dụng cho mỗi ký tự?
- 29. Internet Explorer không hiển thị các ký tự tiếng Trung từ URL
- 30. Chuyển đổi NULL thành chuỗi rỗng - Chuyển đổi không thành công khi chuyển đổi từ chuỗi ký tự thành uniqueidentifier
Nhân vật Trung Quốc này đến từ đâu? Nhập bằng bàn phím? Từ một tệp trên đĩa? Mã hóa hoặc mã hóa nào được sử dụng trong tệp đó? (Tiếng Trung giản thể, tiếng Trung Phồn thể, hoặc ??) Bạn cần biết mã hóa nào được sử dụng trên các byte đầu vào trước khi bạn có thể chuyển đổi nó thành một số mã hóa khác. – dthorpe
Nhập bằng bàn phím, sử dụng UTF (16 tôi đoán, cần có hầu hết các ký tự), Giản thể hoặc truyền thống. – Mass