2016-03-22 19 views

回答

0

文檔中明確指出:

對於一個數字參數N,HEX(N)的逆不受UNHEX執行()。改用CONV(HEX(N),16,10)。請參閱HEX()的說明。

它的作用是以下,仍根據文檔:

對於字符串參數STR,UNHEX(STR)解釋在參數每對 字符爲十六進制數和轉換它以 這個數字表示的字節。返回值是一個二進制 字符串。

所以在我們的例子中,它將返回1(十六進制)的二進制表示,它只是00000001。以下內容取決於您的安裝。在我的,我認爲默認字符集是ascii或utf8,所以這個「標題開始」控制字符,根據this table。由於它是一個控制字符,因此您的命令行或瀏覽器可能會在顯示時遇到一些麻煩,這可能會解釋微笑。

如果我嘗試SELECT UNHEX(21),我得到!這是正確的,根據this table

經過一些測試,如果你給數值的功能,金正日將作爲一個字符串,並以兩位數兩位數拆分和翻譯他們成二進制字符串。

2

UNHEX嘗試將十六進制數字轉換爲字符串。由於您使用的是ASCII編碼,因此UNHEX(1)會返回笑臉。 C.F. enter image description here

+1

從回撥機器,現在稱爲[代碼頁437](https://en.wikipedia.org/wiki/Code_page_437),或者也與歷史悠久的ANSI標準有關。這是人們在20世紀80年代不得使用表情符號的原因。 ASCII通常是7位,只能達到0x7F。 – tadman

+0

那麼,改變編碼應該讓它返回'1'?我怎麼做?或者,在這種情況下可以使用'unhex'替代? – KcFnMi

相關問題