`

Java Unicode UTF

阅读更多

       UTF是 Unicode Translation Format,即把Unicode转做某种格式的意思。 在Unicode基本多文种平面定义的字符(无论是拉丁字母、汉字或其他文字或符号),一律使用2字节储存。而在辅助平面定义的字符,会以代理对(surrogate pair)的形式,以两个2字节的值来储存。

        unicode是一种编码方式,和ascii是同一个概念,而UTF是一种存储方式(格式)。

        在jvm内部,虚拟机管理数据(内存里)时,或者在进行对象序列化的时候,字符(串)都是以unicode编码方式的。
        但是在jvm中,字符(串)是以char 这种(存储)形式存放的,一个char占2个字节(例如可以定义char c='字'),就是“字”和“Z”是同样占2个字节的;而在对象序列化后,对象是进行UTF-8存储的,一个中文占2个字节,而英文、数字等只占一个字节,可以参看下面的链接。

        所以导致系列化以后的对象只占平时的大约一半的空间(当全是中文时占用相同的空间;全是英文时unicode占用的空间是UTF-8的2倍)。

        UTF-16比起UTF-8,好处在于大部分字符都以固定长度的字节 (2字节) 储存,但UTF-16却无法兼容于ASCII编码。



我的理解就是这样的

分享到:
评论

相关推荐

    Java Unicode 和字符集

    在Java中,字符串是以Unicode的形式存储的,这意味着Java的String类内部使用UTF-16编码来表示字符。Java通过使用`char`类型来表示单个Unicode字符,该类型占用16位,足够表示基本多文种平面上的所有字符。对于超出...

    Java解决UTF-8的BOM问题

    UTF-8是一种广泛使用的Unicode字符编码方式,它能够表示世界上几乎所有的字符。然而,UTF-8有一个特殊的形式,即带BOM(Byte Order Mark)的UTF-8,这个BOM在某些情况下可能会引发问题。本文将详细探讨Java中如何...

    java实现十六进制字符unicode与中英文转换示例

    在Java中,字符串默认采用Unicode编码,具体来说是UTF-16格式。UTF(Unicode Transformation Format)是Unicode的一个实现方式,用于将Unicode码点转换成实际的字节序列,以便在网络中传输或在存储介质中保存。UTF有...

    java 中文Unicode转换

    在Java编程语言中,Unicode编码是一种广泛使用的字符集,它包含了世界上几乎所有的文字,包括中文。Unicode使得在程序中处理不同语言的文本变得更加方便。本文将深入探讨如何在Java中进行中文字符到Unicode编码的...

    Java实现中文字符串与unicode互转工具类

    unicode码的表示方式有多种,如UTF-8、UTF-16、UTF-32等。 下面我们来学习这个工具类的实现原理和使用方法。 escape函数 escape函数用于将中文字符串转换为unicode码。这个函数的实现原理是将输入的中文字符串...

    常用的java汉字unicode编码

    Java使用Unicode的UTF-16编码形式来存储字符串,这是因为Java字符类型`char`的大小固定为16位,能够直接容纳大多数Unicode码点。 ### Java中的Unicode处理 在Java中处理Unicode文本时,可以使用多种方法: 1. **...

    unicode/utf8 and unicode/utf16(c代码)

    UTF-16编码在内存操作和某些编程语言(如Java和.NET框架)中很常见,因为它能保证每个字符的大小一致,方便处理。 **C语言中的转换** 在C语言中,处理UTF-8和UTF-16与Unicode码点的转换通常需要自定义函数。这些...

    Delphi中UTF-8,Unicode格式转换

    delphi7调用delphi2009生成的dll文件会出现乱码问题。是unicode的原因 终于找到了UTF-8、Unicode格式转换函数

    UTF8转Unicode的详细介绍

    UTF8和Unicode是字符编码的两种重要标准,它们在计算机科学和互联网中起着至关重要的作用。这篇详细的介绍将深入探讨UTF8与Unicode的关系、各自的特点以及如何进行转换。 首先,Unicode是一个字符集,它定义了世界...

    泰文UTF-8编码转成Unicode编码详细代码

    文件里有详细的代码,编码格式选择UTF-8编码,亲测在linux下可以直接运行。泰文在osd输出的流程一般是泰文先转换成Unicode编码,然后调用freetype进行文字渲染叠加

    Java 程序转码(UTF-8)

    ### Java程序转码(UTF-8):详细解析与实现 #### 一、引言 在处理文本数据时,字符编码是一项重要的技术基础。不同系统、不同语言环境下的字符编码可能不一致,这就需要进行字符编码转换以确保数据正确显示和处理...

    unicode-utf8

    此外,还需要熟悉相关的编程接口和库函数,例如在Python中可以使用`open()`函数的`encoding='utf-8'`参数来指定文件的编码方式,而在Java中可以使用`InputStreamReader`和`BufferedReader`类组合来读取UTF-8编码的...

    java 编码 UTF-8、ISO-8859-1、GBK

    首先,UTF-8 是一种广泛使用的多字节编码,能够表示几乎所有的Unicode字符,包括中文。在Java中,UTF-8 支持国际化,是处理多种语言的理想选择,因为它具有良好的向后兼容性,并且通常不需要额外的转换。 ISO-8859-...

    HTML中unicode字符串转UTF-8

    - 在许多编程语言中,如JavaScript、Python、Java等,都有内置的函数或者库支持Unicode和UTF-8之间的转换。例如,在JavaScript中,可以使用`decodeURI()`或`decodeURIComponent()`函数解码Unicode字符串;在Python...

    关于JAVA字符编码:Unicode,ISO-8859-1,GBK,UTF-8编码及相互转换

    ### 关于JAVA字符编码:Unicode, ISO-8859-1, GBK, UTF-8 编码及相互转换 在Java开发过程中,字符编码是处理文本数据的基础,不同的编码方式会影响数据的存储、传输以及显示。本文将详细介绍几种常见的字符编码...

    JAVA字符编码:Unicode,ISO-8859-1,GBK,UTF-8编码及相互转换

    ### JAVA字符编码详解:Unicode, ISO-8859-1, GBK, UTF-8 及其相互转换 #### 一、引言 在Java编程中,字符编码的管理和转换是一项基本而又重要的任务。不同的编码标准适用于不同的场景,而理解和掌握这些编码之间...

    java 读取服务器上的某个文件,并解决UTF-8 BOM文件的问号问题

    BOM是Unicode编码的一个可选特征,它在文件的开头插入三个特殊的字节(EF BB BF),用来标识该文件是用UTF-8编码的。大部分现代文本编辑器可以正确处理BOM,但在某些情况下,如直接读取文件内容或进行特定的解析操作...

    java utf8 to gb2312

    ### Java UTF-8 转 GB2312 的实现方法及原理 #### 一、引言 在处理中文字符编码转换时,我们经常会遇到不同的编码格式,如 UTF-8 和 GB2312。这两种编码方式在中国互联网环境中非常常见。UTF-8 是一种可变长度的...

    常用编码(Unicode,UTF-8,GBK)转换工具

    本文将深入探讨标题中提及的几种编码方式:Unicode、UTF-8以及GBK,同时也会涉及到URL编码和XML转义,这些都是编程和网络通信中不可或缺的部分。 首先,Unicode是一个字符集,旨在为世界上所有语言提供一个统一的...

Global site tag (gtag.js) - Google Analytics