2012-01-31 79 views
12

Khi tôi nhận được JSON thì có \ u003c và \ u003e thay vì < và>. Tôi muốn chuyển đổi chúng trở lại utf-8 trong java. Bất kỳ trợ giúp sẽ được đánh giá cao. Cảm ơn.Chuyển đổi UTF-16 ký tự unicode thành UTF-8 trong java

+0

3c và 3e * là * '<' and '>'. Bạn cần gì để chuyển đổi mọi thứ? –

+0

có thể trùng lặp của [Cách chuyển đổi chuỗi thành và từ mảng byte UTF8 trong Java] (http://stackoverflow.com/questions/88838/how-to-convert-strings-to-and-from-utf8-byte-arrays -in-java) – zellus

+2

Bạn đang sử dụng trình phân tích cú pháp JSON nào? – McDowell

Trả lời

9
try { 
    // Convert from Unicode to UTF-8 
    String string = "\u003c"; 
    byte[] utf8 = string.getBytes("UTF-8"); 

    // Convert from UTF-8 to Unicode 
    string = new String(utf8, "UTF-8"); 
} catch (UnsupportedEncodingException e) { 
} 

tham khảo http://www.exampledepot.com/egs/java.lang/unicodetoutf8.html

+0

Tôi cũng đã sử dụng kỹ thuật này nhưng nó không hoạt động. Nó trả về cùng một chuỗi mà tôi vượt qua ... mặc dù nó hoạt động trong ứng dụng thử nghiệm. Dưới đây là những gì tôi đang sử dụng. \t public String tĩnh unicodeToUTF8 (String unicodeStr) \t \t { \t \t \t // Chuyển đổi từ Unicode sang UTF-8 \t \t \t byte [] utf8 = unicodeStr.getBytes ("UTF-8"); \t \t \t Chuỗi UTF8Str = ""; \t \t \t UTF8Str = chuỗi mới (utf8, "UTF-8"); \t \t \t trả về UTF8Str; \t \t} –

+0

nó hoạt động trong ứng dụng thử nghiệm có nghĩa là có một số vấn đề trong mã ứng dụng xin vui lòng kiểm tra twise chức năng 'unicodeToUTF8'in ứng dụng của bạn –

+0

Tôi đã kiểm tra rất nhiều thời gian và trên cả hai cp1252. Điều gì sẽ là lựa chọn có thể? –

0

Bạn có thể thử chuyển đổi chuỗi thành một mảng byte

byte[] utfString = str.getBytes("UTF-8") ; 
.210

và chuyển lại cho rằng một đối tượng chuỗi bằng cách xác định mã hóa UTF-8 như

str = new String(utfString,"UTF-8") ; 
Các vấn đề liên quan