【www.gdgbn.com--同学】

java 和 c/c++ 中的char 类型长度学习笔记
这两天在帮同学改一个加密程序。以下是c++语言的核心代码:

char cpass[5]; for(int j=0;j

 

但是转成 java 写时会出现问题,乍一看,几乎可以原封不动的转换,可是结果却是有问题的。

经过网上资料的查找发现,是char类型的问题。实际上这就涉及到 c/c++ 中的数据类型和 java 的数据类型的比较。

先说 char 类型。

c/c++ 中的char类型是8位的

java 中的char类型是16位的

 

所以用java处理这种转换时要注意将char类型的高8位清零,很简单和 0x00ff 位与就可以了。完成后的java程序如下

 

char cpass[5]; for(int j=0;j

本文来源:http://www.gdgbn.com/zhufuduanxin/28576/