字符集、编码和字符串
2020-01-02 16:01:23来源:博客园 阅读 ()
字符集、编码和字符串
什么是字符集(Charset)
- 字符集是字符的集合。一般包含一种语言的字符。比如GBK是包含所有常用汉字字符的字符集。ASCII是包含英文字符的字符集。
- 字符就是Java中的char,char是character的简写。
什么是编码(Encoding)
- char代表一个字符,char本质上也是数字。将数字映射到字符,就叫编码。
- 将一个字符集映射到数字,就是给这个字符集编码。编码是有标准的,所有的计算机系统按照同一个编码标准执行。
- 有时候编码和字符集会混用。
常用的字符集简介
- ASCII码,ASCII表:https://baike.baidu.com/item/ASCII/309296#3
- Unicode包含世界上所有的常用字符,编码也有几种,包括UTF-8(8-bit Unicode Transformation Format),UTF-16等。
- Unicode,GBK等所有常用的字符集,都会兼容ASCII。例如,字符A在这些所有常用的字符集里,都是对应数字65。
public class ComplexChar { public static void main(String[] args) { int a = 65; char cha = (char) a; char hhh = '\u4239'; System.out.println(cha); System.out.println(hhh); } }
Java中的字符集
- Java中用的是UTF-16编码的Unicode。
- UTF-16用16个bit,即2个byte,这也是char占两个byte的原因。当把char转成数字的时候,需要用int。
ASCII码和转义符(escape character)
- 如何输出特殊字符:
- ASCII码 +char,通过ASCII表可以找到需要的字符对应的数字。将这个数字转换为char,然后输出这个char。
- 转义符。转义符用来给字符赋值,也可以用在字符串里面,作为字符串中的一个字符。
- 转义符语法和常用的转义符:
- \n 换行符(new line)
- \t 制表符
- \" 双引号
- \uXXXX unicode编码对应的字符
public class ComplexCharInString { public static void main(String[] args) { // \t制表符 \"双引号 \n换行(new line) String content = "a\tb\"\tc\n\td\t"; String align = "1111222233334444"; System.out.println(content); System.out.println(align); } }
字符串的“加法”
- 将变量穿插在字符串中输出
- 字符串可以和任何类型进行加法运算,则会将这个值的字符拼接到字符串上;
- 字符串也可以使用+=操作符来拼接;
- 字符串的加法运算符符合加法运算符本身的优先级。
- 字符串不是Java中的基本数据类型
- 字符串类型的名字叫做String;
- 虽然String不是Java中的基本数据类型,但是也可以使用类似的语法: String str = "abc"; 来创建。开始的时候将其当成基本类型,更容易理解。
- String不是Java中的保留字。
- String的加法不会改变原String变量的值,改变其值要用赋值语句
public class StringConcat { public static void main(String[] args) { int String = 999; // String不是基本数据类型,也不是关键字和保留字。但是可以用类似的语法。 System.out.println(String); String zifuchuang = "String声明来的字符串!"; System.out.println(zifuchuang); int a = 10; int b = 20; int c = a + b; System.out.println("a + b = " + c); boolean aBiggerThanB = a > b; System.out.println("a > b 是"+aBiggerThanB+"的。"); System.out.println("a + b = " + a + b); // 这里的a会先和前面的字符串相连接。 System.out.println("a + b = " + (a + b)); System.out.println("a * b = " + a * b); } }
public class StringVariable { public static void main(String[] args) { // 虽然String不是Java中的基本数据类型,但是也可以使用类似的语法: String str = "abc"; 来创建。 int a = 10; String str = "a的值是"; str = str + a; // 赋值会改变str的值。 System.out.println(str); String s2 = "a的值是"; System.out.println(s2 + a); // 加法本身不会改变s2的值。 System.out.println(s2); } }
原文链接:https://www.cnblogs.com/buildnewhomeland/p/12130828.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Java实现的三种字符串反转 2020-06-09
- 我说我精通字符串,面试官竟然问我Java中的String有没有长度 2020-05-20
- LeetCode 680. 验证回文字符串 Ⅱ 2020-05-19
- 字符串 2020-05-18
- LeetCode 151. 翻转字符串里的单词 2020-05-16
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash