【转】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),能够非常容易地获取跨 ...
随机推荐
- WebStorm 之 Cordova 环境搭建
一.环境搭建 Cordova 环境配置之前,应先下载安装 Node.js ,中文官网:http://nodejs.cn/. 以管理员身份运行 cmd 命令行工具: 1.查看 Node.js 是否已安装 ...
- [网摘][医学影像] DICOM 和 NIFTI 基础知识与区别
查找DICOM基础知识时,看到这篇文章里面写了一些关于使用深度学习进行医疗影像分析:文件格式篇.下文摘自:https://www.jiqizhixin.com/articles/2017-07-31 ...
- Multipathing for Software iSCSI
see also:http://www.vmware.com/files/pdf/techpaper/vmware-multipathing-configuration-software-iSCSI- ...
- Linux常用命令之wget
wget:从网络上下载文件到当前目录.
- ldd 以及 ld-linux.so.2
最近跟编译工具干上了,可能是问题积累集中爆发的结果. 今天对 ld-linux.so.x 有很大兴趣,想对它多些了解,遂百度之.发现了指令 ldd. 关于 ldd 其实 ldd 是一个脚本,并不是一个 ...
- Jackson序列化日期类型的属性
@JsonProperty("BankSettlementDate") @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = ...
- Java DES 加解密("DES/CBC/PKCS5Padding")
/** * DES加密 * * @param data 加密数据 * @param key 密钥 * @return 返回加密后的数据 */ public static byte[] desEncry ...
- VREP中使用其它Lua库
VREP中的Regular API中有一些矩阵操作的函数,不过有时候还是不能满足计算需求,这时就需要在VREP中使用其它科学计算库(或者用Python/MATLAB之类的外部程序控制). 在这里下载L ...
- DOM4J对于XML的用法
一.基本使用方式 语法 1.获取根元素 Element root = document.getRootElement(); 2.获取某个元素下的子元素 Element db_e ...
- Quartz.NET开源作业调度框架系列(四):Plugin Job-转
如果在Quartz.NET作业运行时我们想动态修改Job和Trigger的绑定关系,同时修改一些参数那么该怎么办呢?Quartz.NET提供了插件技术,可以通过在XML文件中对Job和Trigger的 ...