您的位置:首頁技術文章
文章詳情頁

如圖,java中同樣是utf-8存儲的字符串,為什么這兩種方式輸出的字節會不同?

瀏覽:145日期:2024-02-04 17:10:08

問題描述

如圖,java中同樣是utf-8存儲的字符串,為什么這兩種方式輸出的字節會不同?

問題解答

回答1:

首先確保編碼統一,文件編碼UTF-8,以UTF-8去讀文件,getBytes也傳入UTF-8另,不要用記事本!不要用記事本!不要用記事本!重要的事情說三遍?。?!

回答2:

在 Java8 的文檔中說 String.getBytes() 是按平臺默認的字符集來編碼。如果是 Windows,默認字符集不是 utf-8,而是 gbk。Linux 要看配置(具體如何我不是很清楚)。

Encodes this String into a sequence of bytes using the platform’s default charset, storing the result into a new byte array.

The behavior of this method when this string cannot be encoded in the default charset is unspecified. The CharsetEncoder class should be used when more control over the encoding process is required.

傳送門:String.getBytes()

標簽: java
相關文章:
国产综合久久一区二区三区