Oracle學習筆記:ASCII碼轉換(chr和ascii函數)


今天get到一個騷操作,通過ascii碼轉換之后來進行互換編碼的。

select chr(ascii('f') + ascii('m') - ascii('a')) from dual;

有必要對ascii進行學習一番。

轉換函數

  • chr()函數
select chr(102) from dual;
-- f
  • ascii()函數
select ascii('g') from dual;
-- 103

對特殊字符可進行單獨處理,不直接輸入,而是通過輸入其ascii碼,然后進行轉換輸入。例如:想輸入&,可以輸入chr(38)

附:常用ASCII碼對應表

ASCII 碼 ASCII 碼 ASCII 碼 ASCII 碼
十進位 十六進位 字符 十進位 十六進制 字符 十進制 十六進位 字符 十進位 十六進位 字符
032 20 056 38 8 080 50 P 104 68 h
033 21 ! 057 39 9 081 51 Q 105 69 i
034 22 " 058 3A : 082 52 R 106 6A j
035 23 # 059 3B ; 083 53 S 107 6B k
036 24 $ 060 3C < 084 54 T 108 6C l
037 25 % 061 3D = 085 55 U 109 6D m
038 26 & 062 3E > 086 56 V 110 6E n
039 27 ' 063 3F ? 087 57 W 111 6F o
040 28 ( 064 40 @ 088 58 X 112 70 p
041 29 ) 065 41 A 089 59 Y 113 71 q
042 2A * 066 42 B 090 5A Z 114 72 r
043 2B + 067 43 C 091 5B [ 115 73 s
044 2C , 068 44 D 092 5C \ 116 74 t
045 2D - 069 45 E 093 5D ] 117 75 u
046 2E . 070 46 F 094 5E ^ 118 76 v
047 2F / 071 47 G 095 5F _ 119 77 w
048 30 0 072 48 H 096 60 ` 120 78 x
049 31 1 073 49 I 097 61 a 121 79 y
050 32 2 074 4A J 098 62 b 122 7A z
051 33 3 075 4B K 099 63 c 123 7B {
052 34 4 076 4C L 100 64 d 124 7C |
053 35 5 077 4D M 101 65 e 125 7D }
054 36 6 078 4E N 102 66 f 126 7E ~
055 37 7 079 4F O 103 67 g 127 7F

第一部分由 00H 到 1FH 共 32 個,一般用來通訊或作為控制之用,有些字符可顯示於屏幕,有些則無法顯示在屏幕上,但能看到其效果(例如換行字符、歸位字符)。

第二部分是由 20H 到 7FH 共 96 個,這 95 個字符是用來表示阿拉伯數字、英文字母大小寫和底線、括號等符號,都可以顯示在屏幕上。

第三部分由 80H 到 0FFH 共 128 個字符,一般稱為『擴充字符』,這 128 個擴充字符是由 IBM 制定的,並非標准的 ASCII 碼。這些字符是用來表示框線、音標和其它歐洲非英語系的字母。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM