在C语言中没有单独的字符串类型,字符串其实就是字符集合而成,因此C语言的字符串转字符非常好做,而它的字符类型其实就是一个字节的容量,因此字符串转字节对C语言很容易。但Java则不一样,它是严格基于类的语言,String被单独封装成一个类,并且它的标准输入类种类繁多,这很容易让初学者迷惑。笔者在这里介绍一种比较简单的对输入的字符串进行字节转换的操作。
工具/原料
- Java编译器
- Java SDK
- PC一台
- 代码编辑器一个
方法/步骤
- 1
新建一个java文件,不妨命名为arrayTest.java
- 2
用代码编辑器打开,开始编写代码
- 3
完成代码编写,准备进入下一步
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class arrayTest
{
public static void main(String argv[])
{
String str = new String();
byte [] buf;
BufferedReader bufRead = new BufferedReader(new InputStreamReader(System.in));
int i = 0;
System.out.println("Please input a string and end it by Enter key:");
try
{
str = bufRead.readLine();//Read string
}
catch(IOException e)
{
e.printStackTrace();
}
buf = str.getBytes();
for(i = 0; i < buf.length; i ++)
{
System.out.println(buf[i]);
}
}
}
- 4
打开控制台程序,切换到代码所在目录
- 5
用java命令编译arrayTest.java,即输入javac arrayTest.java,接着进入下一步
- 6
编译成功后会在之前的代码目录产生一个arrayTest.class文件
- 7
接下来运行arrayTest。在命令行中输入:java arrayTest然后回车
- 8
程序运行后会显示:
Please input a string and end it by Enter key:
输入你想要字符串然后回车即可,接下来你就会看到程序运行结果了
- 9
程序运行结果,可以看到我们输入的Hello world !共13个字符,输出的真好13个字节整数,仔细比对便容易知道这13个字节分别对应Hello world !的ASCII码,这便完成了字符串到字节数组的转换。
END
注意事项
- 1、程序中需要用到 java.io.BufferedReader; java.io.IOException; java.io.InputStreamReader; 三个类,记得用import载入,否则编译会出错。
- 2、尽量不要在java代码中加入汉字,有的JDK不支持汉字,会导致编译不通过。
- 3、对于BufferedReader记得加try捕获异常,否则编译可能会不通过。
- 4、实际运用中应考虑字符串为空的情况,防止异常发生。