簡體   English   中英

從utf8轉換為iso-8859-1后未顯示丹麥語字符

[英]The danish character not showing after convert from utf8 to iso-8859-1

我正在收聽廣播流,並嘗試讀取其元數據。 它包含一些丹麥字符,顯示為? 標記,所以我嘗試了以下轉換

String s = new String(streammetadatastring.getBytes(StandardCharsets.UTF_16), StandardCharsets.ISO_8859_1);

現在它刪除了? 標記,但顯示錯誤的字符。 我嘗試了其他方法,但沒有獲得正確的值。

類似於您發布的代碼:

String s = new String(streammetadatastring.getBytes(StandardCharsets.UTF_16),
                          StandardCharsets.ISO_8859_1);

沒有任何用處。

字符編碼是從字符到字節的映射,反之亦然。 您在該行代碼中所做的就是使用UTF-16字符編碼將字符串轉換為字節,然后立即使用ISO-8859-1編碼將字節轉換回字符串。 這不會產生任何有用的信息-字節包含UTF-16編碼的字符,而不是ISO-8859-1編碼的字符。

為了使丹麥語字符正確顯示,必須確保在顯示該字符的任何位置(命令提示符窗口,Linux shell,HTML頁面或GUI?)都使用包含字符的字體,並指定正確的字符編碼(如何執行,取決於顯示字符的位置)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM