在上一篇中比较了使用字节流和字符流来读取(写入)文本文件的优劣后, 这一篇主要探讨缺省编码这个主题.
字符流使用缺省编码
通过前面的例子, 已经得出了一个结论: 字符流=字节流+编码.
可以在构建字符流时显示传入编码参数, 那么所得到的字符流就会以该编码来**编码(encode)或解码(decode)**字节流, 这会给文本数据处理带来极大方便.
但有时, 构建字符流时也可以不传入编码参数, 比如如下直接构建一个 InputStreamReader
:
在上一篇中比较了使用字节流和字符流来读取(写入)文本文件的优劣后, 这一篇主要探讨缺省编码这个主题.
通过前面的例子, 已经得出了一个结论: 字符流=字节流+编码.
可以在构建字符流时显示传入编码参数, 那么所得到的字符流就会以该编码来**编码(encode)或解码(decode)**字节流, 这会给文本数据处理带来极大方便.
但有时, 构建字符流时也可以不传入编码参数, 比如如下直接构建一个 InputStreamReader
:
摘要: 本文主要讲述 string.getBytes() 方法, 分析了系统缺省编码的各种陷阱, 并针对测试中出现的乱码作了初步的分析, 对代码页的概念也进行了介绍.
在前一篇里我们谈了 Unicode 的代码单元及 string.length
, 现在接着前面的讨论继续谈 string.getBytes()
方法并对乱码的产生作初步分析.
首先声明一下, 以下讨论如无特别说明, 均是在 Java 语言环境下. 如果你用的不是 java, 我只能说声抱歉. 但另一方面, 我相信无论是何种语言或平台, 也必然有类似的方法及类似的处理, 而其中的原理也必将是相通的, 当然了, 具体到细节上则可能会有些差异.