zoukankan      html  css  js  c++  java
  • 字符集、编码和字符串

    什么是字符集(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。
      • 转义符。转义符用来给字符赋值,也可以用在字符串里面,作为字符串中的一个字符。
    • 转义符语法和常用的转义符:
      •   换行符(new line)
      •    制表符
      • "   双引号
      • uXXXX   unicode编码对应的字符
    public class ComplexCharInString {
        public static void main(String[] args) {
            // 	制表符 "双引号 
    换行(new line)
            String content = "a	b"	c
    	d	";
            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);
        }
    }
  • 相关阅读:
    什么是MIME
    bit/byte/英文字符/汉字之间的换算及java八大基本数据类型的占字节数
    js 上传文件大小检查
    java.toString() ,(String),String.valueOf的区别
    java 下载文件的样例
    回调函数分析
    IO流详析
    各个秒之间的换算率
    内边距:
    Less-6【报错+BOOL类型】
  • 原文地址:https://www.cnblogs.com/buildnewhomeland/p/12130828.html
Copyright © 2011-2022 走看看