繁体   English   中英

(C) 在屏幕和文件中打印所有 CP850 字符的程序有不同的输出

[英](C) Program that prints all CP850 characters on the screen and in a file have different outputs

该程序非常简单,它帮助我获得了所有的 ascii 代码,因为我的计算机似乎不符合互联网上的标准。 我发现的问题是文件和 cmd 上的输出不同。 我需要将框字符用于打印文件和屏幕上的项目,并且文件输出显然没有它们。

#define _CRT_SECURE_NO_WARNINGS
#include <stdlib.h>
#include <stdio.h>
#include <clocale>

FILE* ascii;

void main()
{
    ascii = fopen("D://temp//ascii.txt", "w");

    setlocale(LC_ALL, "Portuguese_Portugal.850");
    int columns = 0, i;
    printf("\nTable ASCII - C%cdigos 32 a 127 \n\n", 162);
    fprintf(ascii, "\nTable ASCII - C%cdigos 32 a 127 \n\n", 162);
    for(i=32; i<=127; i++)
    {
        printf("%3d-%c   ", i ,i);
        fprintf(ascii, "%3d-%c   ", i, i);
        columns++;
        if(columns==8)
        {
            columns = 0;
            printf("\n");
            fprintf(ascii, "\n");
        }
    }
    printf("\n\n\n");
    printf("\nTable ASCII - C%cdigos 128 a 255\n\n", 162);
    fprintf(ascii, "\n\n\n");
    fprintf(ascii, "\nTable ASCII - C%cdigos 128 a 255\n\n", 162);
    for (i = 128; i <= 255; i++)
    {
        printf("%3d-%c  ", i, i);
        fprintf(ascii, "%3d-%c   ", i, i);
        columns++;
        if (columns == 8)
        {
            columns = 0;
            printf("\n");
            fprintf(ascii, "\n");
        }
    }
    printf("\n\n\n");
    fclose(ascii);
    system("pause");
}

屏幕输出:

Table ASCII - Códigos 32 a 127

 32-     33-!    34-"    35-#    36-$    37-%    38-&    39-'
 40-(    41-)    42-*    43-+    44-,    45--    46-.    47-/
 48-0    49-1    50-2    51-3    52-4    53-5    54-6    55-7
 56-8    57-9    58-:    59-;    60-<    61-=    62->    63-?
 64-@    65-A    66-B    67-C    68-D    69-E    70-F    71-G
 72-H    73-I    74-J    75-K    76-L    77-M    78-N    79-O
 80-P    81-Q    82-R    83-S    84-T    85-U    86-V    87-W
 88-X    89-Y    90-Z    91-[    92-\    93-]    94-^    95-_
 96-`    97-a    98-b    99-c   100-d   101-e   102-f   103-g
104-h   105-i   106-j   107-k   108-l   109-m   110-n   111-o
112-p   113-q   114-r   115-s   116-t   117-u   118-v   119-w
120-x   121-y   122-z   123-{   124-|   125-}   126-~   127-




Table ASCII - Códigos 128 a 255

128-Ç  129-ü  130-é  131-â  132-ä  133-à  134-å  135-ç
136-ê  137-ë  138-è  139-ï  140-î  141-ì  142-Ä  143-Å
144-É  145-æ  146-Æ  147-ô  148-ö  149-ò  150-û  151-ù
152-ÿ  153-Ö  154-Ü  155-ø  156-£  157-Ø  158-×  159-ƒ
160-á  161-í  162-ó  163-ú  164-ñ  165-Ñ  166-ª  167-º
168-¿  169-®  170-¬  171-½  172-¼  173-¡  174-«  175-»
176-░  177-▒  178-▓  179-│  180-┤  181-Á  182-Â  183-À
184-©  185-╣  186-║  187-╗  188-╝  189-¢  190-¥  191-┐
192-└  193-┴  194-┬  195-├  196-─  197-┼  198-ã  199-Ã
200-╚  201-╔  202-╩  203-╦  204-╠  205-═  206-╬  207-¤
208-ð  209-Ð  210-Ê  211-Ë  212-È  213-ı  214-Í  215-Î
216-Ï  217-┘  218-┌  219-█  220-▄  221-¦  222-Ì  223-▀
224-Ó  225-ß  226-Ô  227-Ò  228-õ  229-Õ  230-µ  231-þ
232-Þ  233-Ú  234-Û  235-Ù  236-ý  237-Ý  238-¯  239-´
240-­  241-±  242-‗  243-¾  244-¶  245-§  246-÷  247-¸
248-°  249-¨  250-·  251-¹  252-³  253-²  254-■  255- 



Press any key to continue . . .

文件输出:

Table ASCII - C¢digos 32 a 127 ã 

 32-     33-!    34-"    35-#    36-$    37-%    38-&    39-'   
 40-(    41-)    42-*    43-+    44-,    45--    46-.    47-/   
 48-0    49-1    50-2    51-3    52-4    53-5    54-6    55-7   
 56-8    57-9    58-:    59-;    60-<    61-=    62->    63-?   
 64-@    65-A    66-B    67-C    68-D    69-E    70-F    71-G   
 72-H    73-I    74-J    75-K    76-L    77-M    78-N    79-O   
 80-P    81-Q    82-R    83-S    84-T    85-U    86-V    87-W   
 88-X    89-Y    90-Z    91-[    92-\    93-]    94-^    95-_   
 96-`    97-a    98-b    99-c   100-d   101-e   102-f   103-g   
104-h   105-i   106-j   107-k   108-l   109-m   110-n   111-o   
112-p   113-q   114-r   115-s   116-t   117-u   118-v   119-w   
120-x   121-y   122-z   123-{   124-|   125-}   126-~   127-   




Table ASCII - C¢digos 128 a 255

128-€   129-   130-‚   131-ƒ   132-„   133-…   134-†   135-‡   
136-ˆ   137-‰   138-Š   139-‹   140-Œ   141-   142-Ž   143-   
144-   145-‘   146-’   147-“   148-”   149-•   150-–   151-—   
152-˜   153-™   154-š   155-›   156-œ   157-   158-ž   159-Ÿ   
160-    161-¡   162-¢   163-£   164-¤   165-¥   166-¦   167-§   
168-¨   169-©   170-ª   171-«   172-¬   173-­   174-®   175-¯   
176-°   177-±   178-²   179-³   180-´   181-µ   182-¶   183-·   
184-¸   185-¹   186-º   187-»   188-¼   189-½   190-¾   191-¿   
192-À   193-Á   194-Â   195-Ã   196-Ä   197-Å   198-Æ   199-Ç   
200-È   201-É   202-Ê   203-Ë   204-Ì   205-Í   206-Î   207-Ï   
208-Ð   209-Ñ   210-Ò   211-Ó   212-Ô   213-Õ   214-Ö   215-×   
216-Ø   217-Ù   218-Ú   219-Û   220-Ü   221-Ý   222-Þ   223-ß   
224-à   225-á   226-â   227-ã   228-ä   229-å   230-æ   231-ç   
232-è   233-é   234-ê   235-ë   236-ì   237-í   238-î   239-ï   
240-ð   241-ñ   242-ò   243-ó   244-ô   245-õ   246-ö   247-÷   
248-ø   249-ù   250-ú   251-û   252-ü   253-ý   254-þ   255-ÿ   

对于编码,您必须考虑三个方面:

  • 输入来自哪里? 它是否指定了编码(通过规范显式或隐式)? 你能相信这些信息吗? 否则你迷路了,可以取消项目
  • 您在机器上运行的进程正在使用什么编码? 你必须确保你的程序坚持这种编码,结束每个输入都被转换成这种编码。
  • 输出哪种编码? 确保接收者知道他的期望(作为输入)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM