关于ascii码的一些内容

1.通过C#程序输出tab(制表符)内容。

1.1常用方式我们可以是 

//测试输出	到文件
 File.WriteAllText("test.txt", "a	b	c");

结果是:

1.2 u0009输出

当然,如果我们不想要通过 来设置,我们就可以通过ascii码来设置,tab的asscii码是9,可以通过u0009输出,所以可以修改如下:

//测试输出	到文件
 File.WriteAllText("test.txt", "a	b	cu0009d");

结果:

我们可以看到,效果是一样的。

1.3 通过char转换输出

还有一种方式就是通过ascii码来转换的方式输出,C#代码如下:

char a = (char)9;
//测试输出	到文件
File.WriteAllText("test.txt", "a	b	cu0009d" + a + "e");

结果:

整数的9就是tab的ascii码

常用的asscii码如下:

2.从xml文件读取制表符数据

xml配置文件如下:

<?xml version="1.0" encoding="utf-8" ?>
<config>
    <split>	</split>
</config>

然后我们读取xml文件中的 ,然后再组装输出,代码如下:

XElement config = XElement.Load("tab.txt");
string split = config.Element("split").Value;
            
string result = "";
for (int i = 0; i < 4; i++)
{
    result += i + split;
}
File.WriteAllText("test.txt", result);

输出结果如下:

明显不是我们想要的效果,那么我们只需要把 修改为:

<?xml version="1.0" encoding="utf-8" ?>
<config>
    <split s="&#x0009;"></split>
</config>

修改程序代码如下:

XElement config = XElement.Load("tab.txt");
string split = config.Element("split").Value;
split = config.Element("split").Attribute("s").Value;

string result = "";
for (int i = 0; i < 4; i++)
{
    result += i + split;
}
File.WriteAllText("test.txt", result);

于是结果就是:

ascii码的对应如下:

注意:

1.&#x0009;配置到节点里面不能解析,只能配到属性attribute中

2.或者就只能读取到之后将\t替换成 ,这样也能解决问题。

3.直接放到记事本里面也是不能解析的。

4.如果&#x0009;不能识别,可以修改为&#09;

原文地址:https://www.cnblogs.com/duanjt/p/9966385.html