例如:
select ascii(123) as'123',asc('123') as '"123"',ascii('abc')as '"abc"'
的返回值是 49 49 97
該函式返回的是字元表示式最左端字元的ascii**值
問題點:
1。ascii(123) 的最左端是「1」,應該返回的是「1」呀,為什麼是"49"?
2。ascii('123') 的最左端是「'」,為什麼是"49"?
3。ascii('abc,) 的最左端是「'」,為什麼是"97"?
ascii
返回字元表示式最左端字元的 ascii **值。
ascii(123) 因為ascii處理字串,所以123轉換成字串,1的ascii是49
後面的就不用說了,'是字串的定界符,所以不在計算範圍內
漢字的ascii碼:
取高位的8位運算後除以256
移位操作不一定要用移位運算來做,可以利用除法,右移8位相當於除以256
比如"燙"字的高8位為204,低八位為204
declare @bytes binary(2)
set @bytes=convert(binary,'燙')
--低8位的10進製值
print 0x00ff & cast(@bytes as int)
--高8位的10進製值
print (0xff00 & cast(@bytes as int))/256
--結果
204
204
測試
select char(204)+char(204)
--結果
----
燙
declare @bytes binary(2)
set @bytes=convert(binary,'安')
--低8位
print 0x00ff & cast(@bytes as int)
--高8位
print (0xff00 & cast(@bytes as int))/256
--結果
178
176
select char(176)+char(178)
--結果
----
安
select unicode(n'大')
select nchar(unicode(n'大'))
大
python中ascii函式 ascii函式
python內建了乙個ascii函式,此函式的作用於repr函式和str函式基本相同,不同的是,ascii函式只能返回ascii字元,對於非ascii字元,它會使用 x,u等escape的方式進行轉義。repr函式呼叫物件的 repr 函式 str函式呼叫物件的 str 函式。而ascii函式其實也...
關於ASCII和Unicode字集
void cdrawview onlbuttondown uint nflags,cpoint point 錯誤 error c2664 cwnd messageboxw 不能將引數 1 從 const char 75 轉換為 lpctstr messagebox t don t create do...
關於漢字與Ascii碼
gb2312和gbk每乙個漢字由2個位元組組成,這2個位元組的ascii碼大小分別是 gb2312 high8 0xa1 0xfe 161 254 low8 0xa1 0xfe 161 254 gbk high8 0x80 0xfe 128 254 low8 0x40 0xfe 64 254 gb2...