`
qdexception
  • 浏览: 45470 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

编码格式

阅读更多
JAVA中的字符,使用的都是Unicode编码。而显示输出和键盘都是采用本地编码。


UTF-8是一种比较常用的编码格式,它是Unicode编码的延伸:它里面的ASCII码只占1个字节,而其他国家的字符,占2或3个字节。


某个字符具体是占几个字节,取决于其所对应的Unicode码的16进制表示的范围:
如果某字符所对应的字节的高位,第1个bit位为0,它就只占用1个字节。
如果某字符所对应的字节的高位,前3个bit位为110,它就占用2个字节。
字节的第2位,前2个bit位为10。
如果某字符所对应的字节的高位,前4个bit位为1110,它就占用3个字节。
字节的第2和第3位,前2个bit位都为10。


UTF-8编码,相对于Unicode编码来说,有以下优点:

1,对于ASCII码来说,UTF-8不会出现内容为0x00的情况。(0x00与某些编程语言有一定的冲突)

2,便于应用程序检测数据在传输过程中是否发生了错误。(例如传输中字符丢失问题,因为UTF-8的字节开头都为0,110或1110这3种,所以丢了某个字节后,也可以判断下一个字符是从哪个字节开始的)

3,节省ASCII码(英文)类型文件的存储空间,因为UTF-8的ASCII码类型数据的储存只占1个字节,而Unicode却是占2个。而且ASCII码格式的文件不需要转换就会符合UTF-8编码的格式。


它的缺点:对于像中日韩等国家的文字,大都占3个字节,造成资源浪费。


UTF-16编码,是对Unicode编码的扩充,对Unicode编码没有影响(也就是说,某个字符用Unicode的表现形式和UTF-16并没有什么区别)。它只是增加了一些Unicode编码中没有表示的语言种类。

因为UTF-16新增加的语言大都用不到,所以可以大致的认为UTF-16和Unicode编码之间没有区别。

UTF-16和Unicode编码格式的字符,在不同体系结构的计算机系统中,在内存中的字节储存位置是不同的。例如:
在Intel  CPU的计算机中,内存总是先储存低字节(例如个位,十位等不重要的字节),后储存高字节(例如百位,千位)。而在其他CPU的计算机中却相反。


为了尽量保持外来字符串的正确性,采用一个字节一个字节读取的方式是最稳妥的。

字节是表示计算机内存中最原始的数据,不会产生编码问题。
只有当把字节当作字符来处理的时候,才会有编码问题。
分享到:
评论

相关推荐

    修改Ubuntu中文编码格式

    由于两个系统默认使用的编码格式不同,通常情况下Windows中文版默认使用GBK编码,而Ubuntu在支持中文之后,默认使用的是UTF-8编码。如果不进行编码格式的调整,就可能出现文件中文乱码的情况。因此,如何将Ubuntu中...

    编码格式查看工具 编码格式查看工具

    编码格式查看工具: AVIcodec 解码器 及其他所有格式 光是看扩展名是无法知道影片的正确的编码格式的,特别像 DivX 这样的高品质、高压缩比的影片格式出现后。除了原本未压缩的 AVI 影片外,目前使用这样的扩展名...

    RFID数据传输常用编码格式

    RFID数据传输常用编码格式 在RFID系统中,数据传输的可靠性非常重要,而数据传输的可靠性取决于编码格式的选择。常用的RFID数据传输编码格式有六种:反向不归零(NRZ)编码、曼彻斯特(Manchester)编码、单极性...

    获取zip文件编码格式 cpdetector.zip

    在IT行业中,处理文本文件时,经常会遇到不同的字符编码格式,如UTF-8、GBK、ISO-8859-1等。不同的编码格式决定了文本中的字符如何在计算机内存中存储和显示。当需要处理未知编码格式的文件,尤其是ZIP压缩文件时,...

    JAVA获取文件编码格式

    在Java开发过程中,有时我们需要确定一个文件的编码格式,以便正确地读取和处理其中的数据。标题提到的“JAVA获取文件编码格式”是一项常见的任务,特别是在处理来自不同来源的文本文件时。在这种情况下,我们可以...

    C# 编码自动识别 匹配文件当前编码格式

    在编程领域,尤其是在处理文本文件时,正确识别和使用文件的编码格式至关重要。C#作为.NET框架中的主要编程语言,提供了强大的支持来处理各种编码格式。本文将详细讲解"C#编码自动识别匹配文件当前编码格式"这一主题...

    常见视频编码格式详细介绍

    ### 常见视频编码格式详细介绍 #### 一、视频文件分类 视频文件根据其特点和用途大致可以分为两大类:影像文件和流式视频文件。 1. **影像格式**:这类文件通常用于存储视频和音频信息,适用于本地播放。常见的...

    获取编码格式的工具类

    在IT行业中,编码格式是处理文本数据时至关重要的一个环节,因为不同的编码方式会影响字符的表示和解析。本文将详细探讨“获取编码格式的工具类”这一主题,它旨在帮助开发者处理不同编码格式的文本文件,如UTF-8和...

    判断字符编码格式代码

    根据给定文件的信息,我们可以总结出以下关于“判断字符编码格式代码”的相关知识点: ### 一、背景介绍 在计算机科学领域,字符编码是将文本转换为数字表示的方法,以便于计算机存储和处理。常见的字符编码包括...

    eclipse 里设置文件的默认编码格式

    在IT行业中,开发人员经常需要处理各种编码格式,特别是在使用集成开发环境(IDE)如Eclipse时。Eclipse是一款强大的Java开发工具,但它也支持多种编程语言,因此正确配置文件的编码格式至关重要,以避免乱码问题。...

    文件编码格式批量修改工具

    在IT领域,文件编码格式是数据存储和传输中不可或缺的一部分,尤其在处理多语言或跨平台的项目时显得尤为重要。本文将深入探讨“文件编码格式批量修改工具”,它是一款专为Windows用户设计的实用程序,旨在帮助用户...

    Java判断文件编码格式 - 明明是悟空 - 博客园1

    在Java编程中,判断文件编码格式是一项常见的任务,特别是在处理包含多国语言或者用户自定义内容的文件时。本文将探讨如何使用Java进行文件编码格式的识别,主要介绍两种方法:一种是简单的UTF-8判断,另一种是使用...

    Python 查看文件的编码格式方法

    ### Python 查看文件的编码格式方法 在处理文本文件时,了解文件的编码格式是非常重要的。这不仅能帮助我们正确地读取文件内容,还能避免因编码不匹配导致的数据损坏或乱码问题。本文将详细介绍如何使用Python来...

    JAVA程序的编码格式详解

    ### JAVA程序的编码格式详解 #### 一、引言 编码问题一直是开发人员尤其是Java开发者面临的常见挑战之一。由于Java是一种跨平台的语言,因此在不同的操作系统之间存在编码格式的差异,这导致了在处理文本数据时经常...

    常用的几种编码格式

    根据提供的文件信息,可以看出这些内容涉及到了不同的编辑器、数据查询工具及操作,但与“常用的几种编码格式”这一主题关系不大。为了更好地满足需求,本文将围绕“常用的几种编码格式”这一主题展开讨论。 ### ...

    VC/C++ 字符编码格式转换

    在VC/C++环境中,常见的编码格式有ANSI、UTF-8和Unicode。这些编码各有其特点,适用于不同的场景。本篇文章将深入探讨如何在VC/C++中利用API函数`WideCharToMultiByte`和`MultiByteToWideChar`进行不同编码格式之间...

    获取文件编码格式(纯JAVA代码,绝对对你有用)

    java 识别文件的编码格式 读取文件的编码 utf-8 gbk gb2312 java 编码 java 获取文件编码格式 java 乱码查找

    获取文件编码格式与文件转码

    在IT行业中,尤其是在Android开发中,处理文件编码格式与文件转码是常见的任务。编码格式决定了文本文件中字符的表示方式,不同的编码如ASCII、UTF-8、GBK等有着不同的规则。了解并能够正确处理文件编码对于确保程序...

    红外编码格式-philips rc6

    红外编码格式:Philips RC-6深度解析 Philips RC-6是红外编码技术中的一个高级版本,作为RC-5的后继者,它由飞利浦定义并推广,广泛应用于遥控器、家用电器和多媒体设备中。RC-6协议以其高度的灵活性和详尽的规范...

    编码格式转换工具

    在IT领域,编码格式转换工具是一种非常实用的软件,它能够帮助用户在不同的字符编码之间进行转换,以解决数据交换、文本处理或程序开发中遇到的兼容性问题。本文将详细探讨编码格式转换的重要性和其在实际应用中的...

Global site tag (gtag.js) - Google Analytics