`

JAVA字符编码经验总结

    博客分类:
  • JAVA
阅读更多

1 JAVA中字符的表达
JAVA中有char、byte、String这几个概念。

 char 指的是一个UNICODE字符,为16位的整数。

 byte 是字节,字符串在网络传输或存储前需要转换为byte数组。在从网络接收或从存储设备读取后需要将byte数组转换成String。

 String是字符串,可以看成是由char组成的数组。

 String 和 char 为内存形式,byte是网络传输或存储的序列化形式。 


举例:
D1 0 1 2 3 4 5 6 7 8 9 A B C D E F
4 袬 袮 袯 袰 袲 袳 袴 袵 袶 袸 袹 袺 袻 袽 袾 袿
5 裀 裃 裄 裇 裈 裊 裋 裌 裍 裏 裐 裑 裓 裖 裗 裚
6 裛 補 裝 裞 裠 裡 裦 裧 裩 裪 裫 裬 裭 裮 裯 裲
7 裵 裶 裷 裺 裻 製 裿 褀 褁 褃 褄 褅 褆 複 褈
8 褉 褋 褌 褍 褎 褏 褑 褔 褕 褖 褗 褘 褜 褝 褞 褟
9 褠 褢 褣 褤 褦 褧 褨 褩 褬 褭 褮 褯 褱 褲 褳 褵
A 褷 选 癣 眩 绚 靴 薛 学 穴 雪 血 勋 熏 循 旬 询
B 寻 驯 巡 殉 汛 训 讯 逊 迅 压 押 鸦 鸭 呀 丫 芽
C 牙 蚜 崖 衙 涯 雅 哑 亚 讶 焉 咽 阉 烟 淹 盐 严
D 研 蜒 岩 延 言 颜 阎 炎 沿 奄 掩 眼 衍 演 艳 堰
厌 砚 雁 唁 彦 焰 宴 谚 验 殃 央 鸯 秧 杨 扬
F 佯 疡 羊 洋 阳 氧 仰 痒 养 样 漾 邀 腰 妖 瑶
GBK编码表中的‘’字
String yan = “燕”;
char cyan = yan.charAt(0);         //返回第0位的字符
String yanHex = Integer.toHexString(cyan);      //字符和整数同是16位
71 d5
byte yanGBBytes = yan.getBytes(“GBK”);      //转换成字节
GBK编码的字节数值
D1 E0


2 编码方式的简介
String序列化成byte数组或反序列化时需要选择正确的编码方式。如果编码方式不正确,就会得到一些0x3F的值。常用的字符编码方式有ISO8859_1、GB2312、GBK、UTF-8/UTF-16/UTF-32。
ISO8859_1用来编码拉丁文,它由单字节(0-255)组成。
GB2312、GBK用来编码简体中文,它有单字节和双字节混合组成。最高位为1的字节和下一个字节构成一个汉字,最高位为0的字节是ASCII码。
UTF-8/UTF-16/UTF-32是国际标准UNICODE的编码方式。 用得最多的是UTF-8,主要是因为它在对拉丁文编码时节约空间。

UNICODE值 UTF-8编码
U-00000000 - U-0000007F: 0xxxxxxx
U-00000080 - U-000007FF: 110xxxxx 10xxxxxx
U-00000800 - U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx
U-00010000 - U-001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
U-00200000 - U-03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
U-04000000 - U-7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

分享到:
评论

相关推荐

    java编码主要用于java编码

    11. **设计模式**:设计模式是解决常见编程问题的经验总结,如单例模式、工厂模式、观察者模式等,它们在Java编程中有着广泛的应用。 12. **Java工具**:Eclipse、IntelliJ IDEA等集成开发环境(IDE)提供了强大的...

    java代码重构经验总结

    ### Java代码重构经验总结 在软件开发过程中,代码重构是一项重要的技能,它旨在不改变代码外部行为的前提下,改进其内部结构,从而提升代码质量和可维护性。本文将深入探讨Java代码重构的关键点,涵盖重构原则、...

    一个java程序员的经验总结

    ### Java程序员经验总结 #### 一、`java.math.BigDecimal`与`Double`转换问题 在日常开发中,可能会遇到需要将`BigDecimal`转换为`Double`的情况,但是直接尝试进行类型转换时会出现编译错误:“`java.math....

    Java的编码规范

    ### Java的编码规范详解 在软件开发领域,遵循一套统一且规范的编码标准至关重要,它不仅有助于提升代码...在实际编码过程中,务必结合项目的具体需求和个人编程经验灵活应用这些规范,不断优化和完善自己的编码实践。

    2018 Java 工程师面试总结

    11. **字符集与编码**:掌握不同字符集的特点,如Oracle数据库中查看字符数和字节数的函数。 12. **安全问题**:防止SQL注入是开发中的重要任务,面试可能会问到你的实践经验和相关知识。 13. **操作系统**:在...

    java调用shell向DataX传参,带where条件,特殊字符

    总结来说,Java调用Shell执行DataX任务时,关键在于正确处理参数中的特殊字符,确保它们在Shell和DataX中都能被正确解析。这通常涉及到字符串的转义、URL编码,以及对Shell语法的理解。通过实践和调试,你可以找到...

    java工程师面试题总结

    Java工程师面试题总结涉及到Java基础的多个方面,包括语法、类、内部类、继承、异常处理、线程、集合、IO操作以及Java虚拟机的相关知识点。下面将对上述提及的知识点进行详细解释。 首先,Java基础部分包括: - ...

    java 经验总结

    Java是一种广泛使用的面向对象的编程语言,以其跨平台、高性能和强大的库支持而闻名。以下是对Java编程经验的...以上是Java编程的一些关键知识点和经验总结,掌握这些将有助于编写更高效、稳定和易于维护的Java应用。

    java编码规范,word版

    本文档旨在提供一套适用于Java项目的编码规范,这套规范基于实际开发经验和最佳实践总结而成,旨在帮助开发者编写高质量、易维护的代码。 #### 二、为何要有编码规范 1. **提升可读性:** 规范化的代码更容易阅读...

    java常用功能例子总结.docx

    本文主要总结了Java的一些常见功能及其使用示例。 首先,对于Java的开发环境搭建,安装JDK(Java Development Kit)是基础。JDK包含了Java编译器、解释器和其他必要的工具。配置JDK环境变量是为了确保操作系统能...

    Java面试要点(适用于2年以上经验,1年亦可)

    Java 面试要点(适用于 2 年以上经验,1 年亦可) Java 是一种广泛使用的编程语言,涵盖了基础知识、JVM、并发、锁、分布式等领域。以下是Java面试要点的详细知识点总结: 基础篇 1. JVM 内存结构:堆、栈、方法...

    java中文乱码问题解决

    本文将深入分析Java中文乱码问题的根本原因,介绍各种编码格式的区别和应用场景,并提供解决乱码问题的方法和经验。 在Java中,常见的编码格式有: * ASCII码:总共有128个,用一个字节的低7位表示,0~31是控制...

    总结各大公司java面试题集

    这篇摘要主要关注Java的基础部分,包括作用域、集合类的区别、字符编码、多线程实现及同步机制,以及内部类的创建。 1. **作用域**:在Java中,访问修饰符public, private, protected以及默认(friendly)决定了类...

    java面试总结(ssh)

    4. **字符编码** - **UTF-8和GBK**:UTF-8是一种变长的Unicode编码,可以表示世界上几乎所有的字符,而GBK是中国的汉字编码标准,它是GB2312的扩展。UTF-8和GBK编码之间可以互相转换,但需要注意的是,GBK编码无法...

    java Io流总结(毕向东)

    **毕向东**老师是一位经验丰富的Java讲师,以其通俗易懂的教学风格受到广大学员的喜爱。在其分享的《Java Io流总结》文档中,详细介绍了Java IO流的基础概念、分类、特性以及常见异常等内容。 **Java中为什么提出流...

    java面试资料积累,经验分享.zip

    这份"java面试资料积累,经验分享.zip"压缩包显然是一份宝贵的资源,包含了作者在面试过程中遇到的各类Java问题和经验总结,对于想要深入学习Java或者正在准备Java面试的人来说,无疑是宝贵的参考资料。 一、基础...

    jsp自己的经验总结

    【JSP经验总结】 在Java Web开发中,JSP(JavaServer Pages)是一种动态网页技术,它允许开发者在HTML中嵌入Java代码,以实现服务器端的逻辑处理。以下是一些关于JSP的经验总结和常见问题解答: 1. **" "的...

Global site tag (gtag.js) - Google Analytics