请问各位大师:name=new String(name.getBytes("ISO-8859-1"));是什么意思;ISO-8859-1从哪里来的?

 我来答
shenerd
2011-07-19 · TA获得超过102个赞
知道答主
回答量:17
采纳率:0%
帮助的人:15.7万
展开全部
name.getBytes("ISO-8859-1")是调用的String 类的下面这个方法,
public byte[] getBytes(String charsetName) throws UnsupportedEncodingException
即:使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
当此字符串不能使用给定的字符集编码时,此方法的行为没有指定。如果需要对编码过程进行更多控制,则应该使用 CharsetEncoder 类。

括号里面的参数是一个字符集的名字,至于什么叫字符集,下面是解释:
16 位的 Unicode 代码单元序列和字节序列之间的指定映射关系。此类定义了用于创建解码器和编码器以及获取与 charset 关联的各种名称的方法。此类的实例是不可变的。

此类也定义了用于测试是否支持特定 charset 的静态方法、通过名称查找 charset 实例的静态方法,以及构造一个包含目前 Java 虚拟机支持的每个 charset 的映射静态方法。通过类 CharsetProvider 中定义的服务提供者接口可以添加对新 charset 的支持。

此类中定义的所有方法用于多个并发线程是安全的。

标准 charset
Java 平台的每一种实现都需要支持以下标准 charset。请参考该实现的版本文档,查看是否支持其他 charset。这些可选 charset 的行为在不同的实现之间可能有所不同。

US-ASCII 7 位 ASCII 字符,也叫作 ISO646-US、Unicode 字符集的基本拉丁块
ISO-8859-1 ISO 拉丁字母表 No.1,也叫作 ISO-LATIN-1
UTF-8 8 位 UCS 转换格式
UTF-16BE 16 位 UCS 转换格式,Big Endian(最低地址存放高位字节)字节顺序
UTF-16LE 16 位 UCS 转换格式,Little-endian(最高地址存放低位字节)字节顺序
UTF-16 16 位 UCS 转换格式,字节顺序由可选的字节顺序标记来标识
杜忆楣03D
推荐于2016-07-03 · TA获得超过458个赞
知道小有建树答主
回答量:364
采纳率:0%
帮助的人:393万
展开全部
ISO-8859-1:是国际字符集之一,比如我们常用的UTF-8和GBK等都是的。
new String(name.getBytes("ISO-8859-1")):这句话的意思是:把name的值用“ISO-8859-1”字符集获取他的字节,“name.getBytes("ISO-8859-1")”这里面返回的是一个ISO-8859-1的字节数组,最后创建一个String对象,在把它赋值给name;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
江湖人称老何
2011-07-20 · TA获得超过383个赞
知道小有建树答主
回答量:250
采纳率:0%
帮助的人:125万
展开全部
楼上 介绍的很好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式