您的位置:首页技术文章
文章详情页

如图,java中同样是utf-8存储的字符串,为什么这两种方式输出的字节会不同?

【字号: 日期:2024-02-04 17:10:08浏览:26作者:猪猪

问题描述

如图,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
相关文章: