您的位置:首页 > Web前端 > HTML

C语言编程实现打印HTML格式的ASCII表格

2016-11-29 22:32 393 查看
ASCII是计算机中最基本的“协议”。

无论什么编程语言,其所使用关键字,运算符,都依赖于ASCII编码的字符。

为了与ASCII兼容,UTF-8的使用远远多于UTF-16。

ASCII是7位的,所以共有128个码位,

其中前32个是控制字符,也就是显示不出来的。

后面96个中,最后一个也是控制字符,而第一个空格,不属于控制符号,但属于不可显示的符号。

这96个中,前32个是数字为主加一些符号;中间32个是大写字母为主加一些符号,后面32个是小写字母为主加一些符号。

在控制台,输入控制符号是用Ctrl加字母,其实就是ASCII偏移64。

所有我决定这样打印:分成4行8列,每格4个字符。其中控制字符及空格由于显示不出,改用Unicode中的Control Picture区块


#include <stdio.h>
#define CTL_PIC_BASE 0x2400
int main()
{
int i, j;
printf("<html>");
printf("<body>");
printf("<table ");
printf("border='1' ");
printf("cellspacing='0' ");
printf("style='font-family:courier;'");
printf(">");
for (i = 0; i != 4; ++i)
{
printf("<tr>");
for (j = 0; j != 8; ++j)
{
printf("<td>");
if (i == 0 && j == 0) printf("&#%d;&#%d;", CTL_PIC_BASE + i * 8 + j, CTL_PIC_BASE + 0x20);
else                  printf("&#%d;&#%d;", CTL_PIC_BASE + i * 8 + j, 0x20 + i * 8 + j);
printf("<br/>");
if (i == 3 && j == 7) printf("&#%d;&#%d;", 0x40 + i * 8 + j, CTL_PIC_BASE + 0x20 + 1);
else                  printf("&#%d;&#%d;", 0x40 + i * 8 + j, 0x60 + i * 8 + j);
printf("</td>");
}
printf("</tr>");
}
printf("</table>");
printf("</body>");
printf("</html>");

return 0;
}


编译运行将输出重定向到后缀为html的文件即可,效果如下:

␀␠

@`
␁!

Aa
␂"

Bb
␃#

Cc
␄$

Dd
␅%

Ee
␆&

Ff
␇'

Gg
␈(

Hh
␉)

Ii
␊*

Jj
␋+

Kk
␌,

Ll
␍-

Mm
␎.

Nn
␏/

Oo
␐0

Pp
␑1

Qq
␒2

Rr
␓3

Ss
␔4

Tt
␕5

Uu
␖6

Vv
␗7

Ww
␘8

Xx
␙9

Yy
␚:

Zz
␛;

[{
␜<

\|
␝=

]}
␞>

^~
␟?

_␡
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: