java基础教程-编码格式

字符数组对象,被默认作为字符串输出

  什么是字符串:一组字符数据和相关算法的封装

      特点:字符串对象是不可变的

      字符串操作结构与原字符串不同一定是新字符串对象

 String 是char[]存储的数据+对char[]进行计算的算法  trim() toUpperCase()....

 worm 是 Cell[]存储的数据+对Cell[]数组进行的算法 creepp()  hit()  contains()....

 字符串的静态优化现象

 1 字符串是很多性能优化现象

    A 人能够看到的信息大多是字符串,但是计算机内部没有任何字符一切都是二进制数据

    B 字符串的处理性能严重影响软件的性能表现

    C Java字符串进行了大量的优化处理

 2 Java中静态字符串(常量、字面量,以及常量运算结果)

    都在静态池中创建,尽可能使用同一个字符串实例

 字符的编码问题

 1 计算机中基本的数据表示为字节(8位)

 2 java中文本(String,char)数据,是16为整数

 3 如果将文本变为基本8位字节数据(文件、互联网)

    需要进行适当的转换(拆分)方式称为:文本的编码

 4 拆分方案称为:编码方案(encoding)

 5 将文本的编码数据byte[] 反向合并为16位字符数据称为文本的解码

 6 编码和解码的方案要一致,如果不一致就出现“乱码”

 7 java String API提供了编码和解码支持方法(算法)

    编码方法:getBytes()

    解码方法:new String()

 8 常见编码方案:GBK UTF-8  UTF-16BE   ISO8859-1  BIG台湾地区的编码

  unicode编码

 1 是 国际组织,将地球上的每个文字分配了一个数数字表示

 这个数字编码称为unicode,80000+字符!

 2 java字符类型16位整数支持65536 字符,支持unicode中常用的部分。java是支持国际化

 

   UTF-16BE不常用 ,好理解

  1 采用定长2byte编码,中文英文都是2个byte

  2 支持字符65535,不能支持全部的unicode

  3 缺点 英文编码浪费 * 

  String str = "ABC中";//A:00000000 01000001

                          B:00000000 01000010

                          C:00000000 01000011

                         中:0100111000101101                         

  UTF-8 编码方案

 1 采用变长方案:1~5Byte

    英文:1Byte

    中文:3Byte

    2个Byte,4Byte的文字我不认识

 2 支持80000+

 3 如果文件内容以英文为主的话很节省

 4 是国际化最优方案 *                                           

   GBK编码方案(中国国家标准)GB2312 是GBK的子集(6000+字)

  1 变长编码1~2Byte

    英文:1Byte  中文:2Byte

  2 支持20000+中文

   3 是中国本地化最优方案  

   ISO8859-1编码方案,西欧编码,只支持英文,单字节编码,不支持中文

  1 256个字符

 

 java String API 正则表达式支持方法

 matchs()检查当前字符串对象是否于给定的正则规则匹配

 split()将当前字符串对象按照正则规则拆分

 replaceAll()替换所有

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值