我嘗試輸出的字符名單與C: http://www.alt-codes.net/如何打印非ASCII字符用C
for (i=0; i<len; i++){
printf("%d\t: %c", i, i);
}
的問題,對所有非ASCII字符我?在Ubuntu上工作。
如何以良好的方式輸出它們。
我嘗試輸出的字符名單與C: http://www.alt-codes.net/如何打印非ASCII字符用C
for (i=0; i<len; i++){
printf("%d\t: %c", i, i);
}
的問題,對所有非ASCII字符我?在Ubuntu上工作。
如何以良好的方式輸出它們。
格式會很差,但除此之外,您發佈的代碼工作。
ASCII字符0-31是各種空格字符,並沒有標準的方式來打印它們。您發佈的鏈接是一個常見的,但非標準的「擴展ASCII表」。不能保證那些確切的符號將被打印在您的特定平臺上。
他們在Windows 7中對我很好,經過GCC和Embarcadero C++測試,都可以打印這些符號。但在另一個操作系統和/或編譯器上,可能會打印不同的符號或根本不顯示任何符號。
只有ASCII字符32 - 126保證在所有系統上可打印,並且是相同的符號。
各種ASCII字符(例如32中以下的許多字符)不可打印。在打印之前,您需要將不可打印的內容翻譯成其他內容(例如空格)。
請注意,鏈接到的ALT代碼不是ASCII代碼。
您的字符集不得包含字符,如☺
。你在看的是一個alt鍵代碼符號列表,而不是ASCII。
根據您的需求,您可以採取的十六進制編輯器和打印的方法只有那些具有圖形表示的字符,用於這一目的,你可以使用isprint()
或isgraph()
(最新的是基本相同isprint()
但不要」 t打印空間)在ctype.h中定義,例如:
for (i = 0; i < len; i++) {
printf("%d\t: %c", i, isprint(i) ? i : '.');
}