琐碎

Java打包 dex 字节文件

dx --dex --output=dynamic_for_android.jar dynamic.jar

GBK 与 gb2312 的区别

GB2312是中国规定的汉字编码,也可以说是简体中文的字符集编码;GBK 是 GB2312的扩展 ,除了兼容GB2312外,它还能显示繁体中文,还有日文的假名

转码原理

字符串都是unicode码,包括英文,汉字...其他字符
unicode可以被转化为字节(byte),如何转换呢,就通过gbk、utf-8、gb2312等编码方式。当把字节转换回字符串的时候,也要用相应的编码方式进行转换。
比如客户端把unicode码通过utf-8转换为二进制流(也就是字节byte),而到了服务器端用gbk编码来把这个二进制流转换为字符串(unicode)的时候,就会出现乱码。必须也要用相应的编码方式进行转换。

​ gbk(encode) gbk(decode)
unicode---------------->byte[]------------------------------>unicode
String 二进制流 String

String.format 相关

  • 格式化两位小数
String.format("%.2f",object)
  • 格式化整数,例:将1显示为0001
int num = 1;
String str= String.format("%04d", num);

CharSequence(一个接口)

String 类是CharSequence的实现类

charSequence是一个接口,表示char值的一个可读序列。此接口对许多不同种类的char序列提供统一的自读访问。此接口不修改该equals和hashCode方法的常规协定,因此,通常未定义比较实现 CharSequence 的两个对象的结果。他有几个实现类:CharBuffer、String、StringBuffer、StringBuilder。

CharSequence与String都能用于定义字符串,但CharSequence的值是可读可写序列,而String的值是只读序列。

对于一个抽象类或者是接口类,不能使用new来进行赋值,但是可以通过以下的方式来进行实例的创建:

CharSequence cs="hello";

你可能感兴趣的:(琐碎)