眾所周知,我們的溫度單位有:攝氏 (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。
謹記!
沒有留言:
張貼留言