讲讲 ASCII 字符编码中 SOH 的作用。
笔者在工作中,曾切切实实的用过 ASCII 的控制字符 SOH。
先介绍下背景吧:
- 公司内有很多个系统,其中涉及到系统之间的数据同步,可以通过网络请求,也可以通过文件。
- 用文件的方式的话,就涉及到分隔符的问题。例如,在 csv 格式中,用逗号作为分隔符;也有写系统用 竖线 | 作为分隔符
- 而笔者接触的系统,用的是 SOH 作为分隔符,我推测是因为该系统用的 C 语言,常用该字符作为分隔符。
在不同操作系统下,查看其文件会用不同的体现。
实践下
这是一段 Java 代码:
public class SOHTest {
public static void main(String[] args) {
String string1 = "HOW";
String string2 = "DO";
String string3 = "YOU";
String string4 = "DO";
StringBuffer buffer = new StringBuffer();
buffer.append(string1).append("\001").append(string2).append("\002").append(string3).append("\003").append(string4);
System.out.println(buffer);
}
}
我们编译,并将输出结果重定向到一个文件:
javac SOHTest.java
java SOHTest > 1.txt
我们用 VSCode 打开,可以看到有这样的分隔符
用一些文本编辑器,可以看的更清楚一点:
注意,这种控制字符,是不可打印的,所以在不同情况下显示的也不同。例如在 IDE 里,在浏览器上,显示出来的效果可能都不同,例如笔者遇到的就有这些:
本文相关的代码和 1.txt 文件已上传到 Gitee:https://gitee.com/peterjxl/LearnJava/tree/master/src/01.JavaSE/05.OOP/15.character
标签:String,SOH,用处,分隔符,ASCII,append,SOHTest From: https://www.cnblogs.com/PeterJXL/p/18247498