Tôi có một chuỗi có chứa một số unicode, làm thế nào để chuyển đổi nó sang mã hóa UTF-8?Làm cách nào để chuyển đổi chuỗi thành UTF8?
Trả lời
đoạn này làm cho một mảng byte với chuỗi của bạn được mã hóa theo UTF-8:
UTF8Encoding utf8 = new UTF8Encoding();
string unicodeString = "Quick brown fox";
byte[] encodedBytes = utf8.GetBytes(unicodeString);
Tại sao không chỉ sử dụng 'Encoding.UTF8.GetBytes 'thay vì' new'ing lên một bộ mã hóa khác? –
@ JesseC.Slicer Đoạn mã này là từ một trong các ví dụ của Microsoft cho lớp UTF8Encoding (http://msdn.microsoft.com/en-us/library/system.text.utf8encoding.aspx). Tôi không chắc chắn 100% lý do tại sao họ chọn làm theo cách này, nhưng tôi cho rằng đó là sự an toàn của luồng (họ đề cập rằng các thành viên thể hiện không được đảm bảo là luồng an toàn, nhưng đây chỉ là phỏng đoán của tôi). – dasblinkenlight
thử mã này
string unicodeString = "Quick brown fox";
var bytes = new List<byte>(unicodeString);
foreach (var c in unicodeString)
bytes.Add((byte)c);
var retValue = Encoding.UTF8.GetString(bytes.ToArray());
Hãy thử chức năng này, điều này sẽ sửa chữa ra khỏi hộp, bạn có thể cần sửa các quy ước đặt tên.
private string UnicodeToUTF8(string strFrom)
{
byte[] bytSrc;
byte[] bytDestination;
string strTo = String.Empty;
bytSrc = Encoding.Unicode.GetBytes(strFrom);
bytDestination = Encoding.Convert(Encoding.Unicode, Encoding.ASCII, bytSrc);
strTo = Encoding.ASCII.GetString(bytDestination);
return strTo;
}
Sử dụng tính năng này để tạo các chuỗi của bạn 1. Tương thích XML trước khi lưu vào cơ sở dữ liệu, 2. (hoặc) CSV tương thích trước khi xuất sang CSV – Arvin
này nên với mã tối thiểu:
byte[] bytes = Encoding.Default.GetBytes(myString);
myString = Encoding.UTF8.GetString(bytes);
- 1. Cách chuyển đổi chuỗi thành UTF8 trong Ruby
- 2. java: cách chuyển đổi tệp thành utf8
- 3. C#: Chuyển đổi byte [] thành chuỗi được mã hóa UTF8
- 4. Chuyển đổi chuỗi UTF8 thành ASCII trong Perl
- 5. Làm thế nào để chuyển đổi mảng utf16 ushort thành chuỗi utf8 std ::?
- 6. Chuyển đổi latin1 thành UTF8
- 7. golang chuyển đổi iso8859-1 thành utf8
- 8. Tôi làm cách nào để sử dụng vim để chuyển đổi tệp của mình thành utf8?
- 9. Làm thế nào để chuyển đổi ISO8859-15 sang UTF8?
- 10. go language làm thế nào để chuyển đổi văn bản ansi thành utf8?
- 11. Làm cách nào để chuyển đổi StreamReader thành chuỗi?
- 12. Làm cách nào để chuyển đổi chuỗi C++ thành int?
- 13. Làm cách nào để chuyển đổi chuỗi thành mảng mảng?
- 14. Làm cách nào để chuyển đổi tên hàm thành chuỗi
- 15. OCaml - Làm cách nào để chuyển đổi int thành chuỗi?
- 16. Làm cách nào để chuyển đổi chuỗi json thành google.visualization.DataTable?
- 17. Chuyển đổi codicoint unicode thành UTF8 hex trong python
- 18. Làm thế nào để chuyển đổi một db trong postgreSQL thành utf8?
- 19. Làm thế nào để chuyển đổi một chuỗi từ UTF8 sang Latin1 trong C/C++?
- 20. Làm cách nào để chuyển đổi NSString thành NSData?
- 21. Làm thế nào để chuyển đổi chuỗi thành mảng byte?
- 22. Làm thế nào để chuyển đổi chuỗi Java thành byte []?
- 23. Làm cách nào để chuyển đổi bộ sưu tập chuỗi Groovy thành một chuỗi chuỗi Java?
- 24. Làm cách nào để chuyển đổi từ chuỗi chuỗi thành chuỗi trong C++?
- 25. Làm thế nào để chuyển đổi một chuỗi thành CharSequence?
- 26. Làm thế nào để chuyển đổi char thành chuỗi?
- 27. Làm thế nào để chuyển đổi JSON thành chuỗi?
- 28. Làm thế nào để chuyển đổi NSString thành chuỗi C?
- 29. Làm thế nào để chuyển đổi chuỗi thành bitet?
- 30. VB.NET: Làm thế nào để chuyển đổi chuỗi thành Ngày?
tôi nghĩ rằng điều này sẽ giúp bạn. http://stackoverflow.com/questions/497782/how-to-convert-a-string-from-utf8-to-ascii-single-byte-in-c – Bishan