眾所周知,我們的溫度單位有:攝氏 (Anders Celsius)、華氏 (Daniel Gabriel Fahrenheit),還有一個比較不常聽到的凱氏 (William Thomson, 1st Baron Kelvin)。那麼,他們在C語言以及HTML語法當中該如何表示?我們先來看一下C語言的表示法:
#include <stdio.h> #define __FUNC__ __func__ int main(argc, argv, envp) int argc; char *argv[]; char **envp; { printf("Hello!! World!! \r\n"); printf("%s %s %s: %s (%d) \r\n", __DATE__, __TIME__, __FILE__, __FUNC__, __LINE__); printf("The temperature is: 100 %c%cC. \n", 0xA2, 0x58); printf("The temperature is: 100 %c%cF. \n", 0xA2, 0x58); printf("The temperature is: 100 %c%cK. \n", 0xA2, 0x58); printf("\n"); printf("The temperature is: 100 %c%c. \n", 0xA2, 0x4A); printf("The temperature is: 100 %c%c. \n", 0xA2, 0x4B); return 0; }執行結果如下:
注意到了嗎?前面3行和後面2行的差異在那?前面3行的溫度字符「°」是用全型字符的表示法,佔2個Byte;再加上字母C、F、K,總共是3個Byte。
而後面2行的「℃」「℉」就已經是用一個全型字符來表示了,所以只佔2個Byte。所以:
溫度符號「°」,在C語言中的字符代碼就是0xA2, 0x58;
攝氏溫符「℃」,在C語言中的字符代碼就是0xA2, 0x4A;
華氏溫符「℉」,在C語言中的字符代碼就是0xA2, 0x4B;
至於是何種看得較為順眼?想當然爾,是後兩者。如果是在HTML語法裡面又該如何表示?
<!DOCUMENT HTML PUBLIC "-//W3C//DTD XHTML 4.01 Transitional//EN" "http://www.w3.prg/TR/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> The temperature is: 100 °C</br> The temperature is: 100 °F</br> The temperature is: 100 °K</br> The temperature is: 100 ℃ </br> The temperature is: 100 ℉ </br> </body> </html>這裡就要好好地分析一下:原本的溫度符號「°」,它的字符代碼為0x00B0,轉換成十進制就是176;
同理可證,攝氏和華氏的溫度符號為「℃」「℉」,它們的字符代碼分別為0x2103和0x2109,轉換十進制就是8451和8457。
謹記!
沒有留言:
張貼留言