教程集 www.jiaochengji.com
教程集 >  脚本编程  >  C语言  >  正文 Java 和 C/C 中的char 类型长度学习笔记

Java 和 C/C 中的char 类型长度学习笔记

发布时间:2018-10-29   编辑:jiaochengji.com
教程集为您提供Java 和 C/C 中的char 类型长度学习笔记等资源,欢迎您收藏本站,我们将为您提供最新的Java 和 C/C 中的char 类型长度学习笔记资源

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

<blockquote>char cpass[5]; for(int j=0;j<instring.length();j ){      cpass[j] ^= npwd;} </blockquote>

 

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

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

先说 char 类型。

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

java 中的char类型是16位的

 

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

 

<blockquote>

char cpass[5]; for(int j=0;j<instring.length();j ){      cpass[j] ^= npwd;    cpass[j] &= 0x00ff;    //将高8位清零}

</blockquote>

您可能感兴趣的文章:
Java 和 C/C 中的char 类型长度学习笔记
c语言学习的简要笔记
java数据类型学习笔记
mysql字段类型char与varchar区别
C语言复习笔记之数据结构详解
java入门篇-数据类型
mysql中char、varchar、text和nchar、nvarchar、ntext的区别
C语言的基本数据类型入门教程
Golang中对interface{}做type assertion和type switch学习笔记
C语言学习笔记之成员数组和指针

[关闭]
~ ~