关于ascii码的一些内容

时间:2024-04-16 07:51:06

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

1.1常用方式我们可以是 

//测试输出\t到文件
 File.WriteAllText("test.txt", "a\tb\tc");

结果是:

1.2 \u0009输出

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

//测试输出\t到文件
 File.WriteAllText("test.txt", "a\tb\tc\u0009d");

结果:

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

1.3 通过char转换输出

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

char a = (char)9;
//测试输出\t到文件
File.WriteAllText("test.txt", "a\tb\tc\u0009d" + a + "e");

结果:

整数的9就是tab的ascii码

 

常用的asscii码如下:

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

xml配置文件如下:

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

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

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);

输出结果如下:

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

<?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替换成\t,这样也能解决问题。

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

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