【转】java平台的编码问题 getByte()所用编码
java平台的编码问题 getByte()所用编码
2013-09-30 11:31:22| 分类: java | 标签:java 编码 getbytes() |字号 订阅
众所周知java的一大优势在于跨平台性,这一特性体现在统一编码(unicode),但是不同的开发工具,不同的编码,是如何做到的呢?
今天我就为大家简单讲一下,.java文件可以是各种编码,比如 GB2312、ISO-8859-1、UTF-8等等,java会根据(.java)文件生成对应的(.class)文件,而生成的(.class)文件使用的是统一编码(unicode),所以使用自己操作系统默认编码(比如GB2312)去打开unicode编码文件,看到的都是乱码。
好了,前提介绍完毕,下面进入主题。String类下有个getBytes()方法,又有有参数和编码的无参数的区分。
1.有参数的就是要转换成参数设定编码的字节。
2无参数的getBytes()是个很有意思的方法,很有个性,先看一下java API是如何解释的,“Encodes this String into a sequence of bytes using the platform's default charset, storing the result into a new byte array.”,中文意思就是:“使用平台的默认字符集将此
String编码为 byte 序列,并将结果存储到一个新的 byte 数组中。”这里所说的平台难道是操作系统?“平台的默认编码格式”就是指操作系统所用的编码?NO,这里所说的“平台的默认编码”是指当前.java文件的编码。比如有一个名为Test.java的.java文件,使用的编码是UTF-8,那么,使用String.getBytes()时,默认使用的编码就是UTF-8。再比如还有一个名为Text.java的.java文件,文件编码是“MS932”,当使用String.getByte()时,就会获得编码格式为“MS932”的byte数组。
总结:String.getBytes(),所谓的“使用平台默认编码”是指,使用(.java)文件所用编码。
等有时间的时候给大家上图片
【转】java平台的编码问题 getByte()所用编码的更多相关文章
- 基于java平台的常用资源整理
这里整理了基于java平台的常用资源 翻译 from :akullpp | awesome-java 大家一起学习,共同进步. 如果大家觉得有用,就mark一下,赞一下,或评论一下,让更多的人知道.t ...
- 这里整理了基于java平台的常用资源
这里整理了基于java平台的常用资源 翻译 from :akullpp | awesome-java 大家一起学习,共同进步. 如果大家觉得有用,就mark一下,赞一下,或评论一下,让更多的人知道.t ...
- 【IBM】Merlin 给 Java 平台带来了非阻塞 I/O
Merlin 给 Java 平台带来了非阻塞 I/O 新增的功能大幅降低了线程开销 Java 技术平台早就应该提供非阻塞 I/O 机制了.幸运的是,Merlin(JDK 1.4)有一根几乎在各个场合都 ...
- Android和java平台 DES加密解密互通程序及其不能互通的原因
网上的demo一搜一大堆,但是,基本上都是一知半解(包括我).为什么呢?我在尝试分别在两个平台加密的时候,竟然发现Android DES 加密和java DES加密的程序不能互通.就是加密的结果不一样 ...
- java平台的常用资源
分离领域 翻译 from :akullpp | awesome-java 大家一起学习,共同进步. 如果大家觉得有用,就mark一下,赞一下,或评论一下,让更多的人知道.thanks. 构建 这里搜集 ...
- Java平台与内存管理
问题及答案来源自<Java程序员面试笔试宝典>第四章 Java基础知识 4.8Java平台与内存管理 1.为什么说Java是平台独立性语言? 平台独立性是指可以在一个平台上编写和编译程序, ...
- 三重Des对称加密在Android、Ios 和Java 平台的实现
引言 如今手机app五彩缤纷,确保手机用户的数据安全是开发人员必须掌握的技巧,下面通过实例介绍DES在android.ios.java平台的使用方法: DES加密是目前最常用的对称加密方式, ...
- java平台利用jsoup开发包,抓取优酷视频播放地址与图片地址等信息。
/******************************************************************************************** * aut ...
- 1.谈谈对Java平台的理解
1.谈谈你对Java平台的理解 Java 本身是一种面向对象的语言,最显著的特性有两个方面,一是所谓的“一次编译,到处运行”(Compile once,run anywhere),能够非常容易地获取跨 ...
随机推荐
- JS判断页面加载完毕
//JS判断页面加载完毕,再隐藏加载效果层,一个简单的JS加载效果. document.onreadystatechange = function () { if (document.readySta ...
- Windows 之 可以Ping通服务器但无法使用服务器连接的共享打印机
故障现象:一个公司内部局域网中,一台电脑可以Ping通服务器,但无法使用服务器连接的共享打印机. 故障分析与排除:根据故障现象分析,由于客户端可以Ping通服务器,说明网络连接正常,故障可能是由客户端 ...
- vsphere脚本等
- 默认的Sublime 3中没有Package Control
https://packagecontrol.io/installation#st3 (官方) 原来Subl3安装Package Control很麻烦,现在简单的方法来了 一.简单的安装方法 使用Ct ...
- Mysql的union
我同事写了一条Sql语句,当时没看明白,下面晒出来: SELECT SUM(new_cart) AS ipv, AS iuv FROM tablename WHERE id = 5 ) as t OR ...
- Spring+MyBatis纯注解零XML整合(4)
不得不说,利用XML作为配置文件是一个非常好的想法,它可以轻松地实现配置集中化,而且修改之后无需再次编译.然而,由于大多数情况下开发者基本都会拿到程序的源码,加之对于各种XML配置文件一般情况下也只有 ...
- JdbcTemplate应用学习
一.Spring对不同的持久化支持: Spring为各种支持的持久化技术,都提供了简单操作的模板和回调 ORM持久化技术 模板类 JDBC org.springframework.jdbc.core. ...
- mysql的逻辑结构
mysql 数据库的逻辑架构如下图: 第一层,即最上一层,所包含的服务并不是MySQL所独有的技术.它们都是服务于C/S程序或者是这些程序所需要的 :连接处理,身份验证,安全性等等. 第二层值得关注. ...
- Python学习摘录(上)
1:接收输入 var=raw_input() 注意:raw_input()总数接收字符串形式的输入.所以,如果我们想接收其他类型的数据,则需要强制类型转换.(如果转换失败,就会抛出异常) 2:pass ...
- 〖Linux〗Kubuntu文件管理器单例的设置(即:一个工作区只一个文件管理器)
有没有一种,情况: 1. 程序A打开了文件管理器: 2. 程序B又打开了文件管理器: 导致开了两个文件管理器,太不舒服了: 搜索下 kubuntu dolphin single instance,果然 ...