二char合一
来源:互联网 发布:mac os 不能升级 编辑:程序博客网 时间:2024/05/01 14:07
今天学nio,用ByteBuffer的getChar方法,结果把我文件内容“lala”给输出成了“污污”。显然,“污”这个字严重玷污了我纯洁的形象,所以我决定把罪魁祸首逮出来。
首先英文占一个字节,中文占两个字节,所以四个英文字符变成两个中文字符就很容易理解了,肯定是两两合并成一个输出了。然后,一个char占两个字节,也就是16位,用来存放8位的英文字符时,只用到低8位,还有高8位空着,空着干啥?补上不就变成一个16位汉字了吗?因此:
char[] cs="la".toCharArray();char a=(char) ((cs[0]<<8)+cs[1]);System.out.println(a);
输出“污”。
有空看看ByteBuffer源码,其getChar()方法的实现一定类似。
(ps:我再也不能直视lalala了,妹的我每次测试涉及到字符串用的都是lalala)
0 0
- 二char合一
- 二卡合一业务
- 人机合一
- (二十二)第二章最后的编程练习答案(七合一版)
- char 设备驱动程序(二)
- CString, LPCTSTR,string,char[],char*转换(二)
- char* char[] string cstring 的区分和转换(二)
- 人程序合一
- 公安三台合一合作
- 口袋中的“四合一”
- 三线合一:三金叉见底
- 归结与合一
- 多合一查询
- MSC VLR合一
- UIImage 2合一
- stm32 iap app 合一
- "三规合一"学习
- 三证合一
- javascript实现页面跳转
- 1284-Primitive Roots,学信安的路过
- 告别单调, 给Unity编辑器换一个皮肤吧
- LINUX : 权限与进程
- ThinkPHP中pathinfo的两种模式、四种路径访问模式和URL重写
- 二char合一
- H5 indexedDB
- jQuery对DOM元素的向上、向下、同级遍历和过滤
- 拟人、比喻及修辞 —— 生动的英语
- 使用opencv提取手部信息
- winscp连接linux时提示连接失败OOPS:cannot change directory:/home/....什么的原因以及解决方案
- Session management
- 【11月22日】听说下雪了!--ICATCLAS分词系统使用初探
- 97. Interleaving String