您的位置:首页 > 其它

编辑文章 - 博客频道 - CSDN.NET

2014-06-24 21:19 176 查看

代码点(Unicode) & 代码单元

普通常用字符用一个代码单元就可以表示,一些辅助的字符要用二个代码单元来表示。
比如说字符串a= "m马li" 用length()返回的长度就是代码单元的个数,由于"马"需要两个代码单元,所以返回5,那么实际的代码点长度又是多少呢,根据目测知道是4,怎样得到代码点的个数呢?a.codePointCount(0,length()),a.charAt(0)将返回第一个代码单元,也就是m,但是a.charAt(1)显然返回的就不是"马"了,他返回的是"马"的第一个数码单元,也就是字符串a的第二个代码单元,那么想遍历一个字符串,用a.charAt(i)的方式显然不可取,就要用到以下方法:
int cp = a.codePointAt(i);//返回指定代码点的字符
if(Character.isSupplementaryCodePoint(cp))//判断所在代码点是否处于增补状态
i+=2;
else i++;

时间输出格式

SimpleDateFormat fmt=new SimpleDateFormat("HH:mm");//24
fmt=new SimpleDateFormat("hh:mm aa");//12

public String toString(){

return fmt.format(Ftime.getTime());

}
这样就可以控制24还是12小时输出了

万能的进制转换——BigInteger

BigInteger src1 = new BigInteger(str, 2);//转换为BigInteger类型

System.out.print("The equivalent decimal number for binary "+str+" is ");

System.out.println(src1.toString());//转换为十进制
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: