栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

读取多字节字符时InputStream和InputStreamReader之间的区别

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

读取多字节字符时InputStream和InputStreamReader之间的区别

一个

InputStream
读出原始八位组(8位)的数据。在Java中,
byte
类型等效
char
于C中的类型。在C中,此类型可用于表示字符数据或二进制数据。在Java中,
char
类型与C
wchar_t
类型具有更大的相似性。

InputStreamReader
然后,An 会将数据从某种编码转换为UTF-16。如果“ a你们”在磁盘上被编码为UTF-8,它将是字节序列
61E4 BD A0 E4 BBAC
。当您使用UTF-8编码将传递
InputStream
InputStreamReader
时,它将作为char序列读取
0061 4F604EEC

Java中的字符编码API包含执行此转换的算法。
您可以在此处找到Oracle
JRE支持的编码列表。在ICU项目是开始,如果你想了解的是如何工作的实践中,内部的好地方。

正如Alexander Pogrebnyak指出的那样,您几乎应该始终明确提供编码。未指定编码的

byte
-to-
char
方法依赖于JREdefault,后者取决于操作系统和用户设置。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/451337.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号