不知多少Java程序员能解答这个问题!
2006-08-22 21:34 java ee spring 阅读(179) 评论(0) 编辑 收藏 举报这次培训班上一个学员问了一个困扰了他大半年的问题,程序代码如下:
public class TestUTF8
{
public static void main(String [] args) throws Exception
{
byte[] bytes = {(byte)0xC0,(byte)0xB1};
String str = new String(bytes,"UTF-8");
System.out.println(str.getBytes("UTF-8").length);
}
}
程序运行后打印的结果如下:
1
这个程序将两个字节的bytes数组按UTF-8编码转换成字符串,再将结果字符串转换成UTF-8编码的字节数组,打印出的这个字节数组的长度为一。为什么两个字节的数组转换成的字符串反转回去的字节数组的长度却为一呢?
看了这篇主题和前面一篇主题的这么多人的负面的评价,我本想置之不理,任其发展,我的处事原则就是“不与我不感兴趣的人说话!无聊的话只当没听到!”。我不会因为有这么多负面的评论,就不再写blog,我写blog是为了宣传我的学习理念,推广我的培训方式,我不会因为一些人的恶意捣蛋,就裹足不前!人要想能做点事,就不能怕事,借用一个朋友的话:“在中国,有一个做事的,必定有十个来捣乱的,那有这些捣乱者的存在,我们还要不要做事!”。我之所以作出回应,是因为其中一些人的评价虽然不好听,但是中肯的,是没有恶意的。
首先,流言是可怕的,可谓积毁销骨。最近一件事情让我感触深刻:在对孙卫琴的书评中,我看到了一句批评刘洋的话,说刘洋写的精通hibernate全部是抄袭孙卫琴的,连例子都一样,我当初还真信以为真了,以前我与刘洋有过一面之谈,但没看过他写的书。看到那条书评后,在我心中确实对刘洋产生了不好的印象,后来有幸阅读了刘洋的精通hibernate一书,我读完以后的感觉是,刘洋的这本书写得不适合初学者阅读,知识讲解也不透彻,不算一本很好的书吧!但是,从这本书中可以看出刘洋有很多自己的东西,技术功底也很好,只是没把这些技术给别人讲透罢了,我只看了前6章,没有看到半点抄袭孙卫琴的痕迹,刘洋所写的知识内容与孙卫琴写的知识内容毫不相关。可是,我与大多数人一样,相信不会空穴来风,我还真被网上的这一条谣言所蛊惑,错误地对刘洋的技术和人品产生了怀疑。看来,很多事情,没有亲身经历的话,还不能轻易相信。
其次,我从没认为我是什么技术高手,比我牛的人太多了,有的人是真牛,有些人嘛,则是假牛,我这点自知之明还是有的!我也不至于要发疯到去与每个技术高手比斗。我写出这些文章,是因为我心里确实有一些憋屈之气,在我所接触的培训中心的教师中,大多数人对这些基础知识毫无概念,一些人则是对我教授这些基础知识则是嗤之以鼻,并以此对我进行诽谤。看到很多人对我这些文章反应强烈,积极辩论,我是很高兴的,我要的就是这个效果,让那些所谓的“高端培训”的教师们看看,不只是我一个人对这些基础知识有研究,其实还是有很多人都对此有研究的,让他们对照着看看,他们倒底算什么?不过,我教授这些基础知识,还是得到了一些人的拥护,譬如,我以前在一个培训中心教过几次课,基础很差的学员对我颇有怨言,这个培训中心的负责人在背后也没少说我坏话,我的一些fans看不惯,都不在他们那学了,有一点很怪,班上基础好的,都对我很感兴趣,就是愿意听我讲课,有的说我才是真正培养精英的教师,有的说我是他的偶像,有的在那听了别的老师的两次课,就不学了,干脆出去工作,等我这次开班了,又辞掉工作专门来参加这个培训班。一些老板很有意思,一旦你与他合作过,以后不再合作,不管你有没有伤害他的利益,只要不再为他服务,他就把你当敌人了。不过,这样的老板,好像都做不出什么大事。