作者 主題: 這小段程序產的編碼文數字?竟然不是ASCII code  (閱讀 5955 次)

0 會員 與 1 訪客 正在閱讀本文。

  • 實習板主
  • 活潑的大學生
  • ***
  • 文章數: 270
    • 檢視個人資料
#!/bin/sh
for((i=1;i<256;i++))
do
printf "\\$i     $i\n"
done

這段是內來印出1~256編碼的字元shell,結果並不是預期的ASCII code,這是什麼編碼?是Unicode嗎?(ps我的環境是MDK8.1語系big5.zh)
UniCode的編碼規則那裡找?

beethobear

  • 鑽研的研究生
  • *****
  • 文章數: 539
    • 檢視個人資料
Turbo Linux吧!

我用過6.1 ,7.0
BEETHOBEAR  !!
--------------------------------------------------------

  • 實習板主
  • 活潑的大學生
  • ***
  • 文章數: 270
    • 檢視個人資料
原來是八進位表示法
« 回覆 #2 於: 2002-06-13 11:21 »
beethobear兄:

要裝Turbo linux才看得到?你是說TorboLinux下的Terminal可以直接顯示Unicode嗎?還是說TurbolLinux下才有完整編碼表介紹?

Vim 6.0的Help檔就有提到了utf-8及ucs-2,但是是在GUI下才能正常顯示所有uncode字型(我正在試),只是我上面做的在vim下觀看到的二字元藍字代碼與ascII仍然有對應關係,而錯誤的是這種表法是八進位的,因為\8 \9 \18 \19 \80~\99均無法正常顯示。若想用十進位為基數該如何表法?

duncanlo

  • SA 苦力組
  • 俺是博士!
  • *****
  • 文章數: 7312
    • 檢視個人資料
用TurboLinux是不是要裝unicode套件?!

jade-rabbit

  • 鑽研的研究生
  • *****
  • 文章數: 833
  • 性別: 男
    • 檢視個人資料
要用跳脫序列(Escape)表達字元,在 C 裡面只能使用
八進位或十六進位
ex,
\003
\0xe0

不然,透過 character format output functions 可用十進位
printf("%c",117);
--(中也者天下之大本也,和也者天下之達道也)--