字符串我有以下Oracle PLSQL函數的ASCII字符串轉換爲數字:甲骨文 - 如何解碼轉換爲數字
function str2num
(
p_string in varchar2
) return number is
l_i number(15);
l_c number(15);
l_answer number(38);
begin
l_answer := 0;
for l_i in 1..length(p_string) loop
l_c := ascii(substr(p_string, l_i, 1));
l_answer := l_answer + (l_c * power(2, (l_i - 1) * 8));
end loop;
return l_answer;
end str2num;
我想編寫一個函數來轉換數回字符串。
基本上函數轉換字符轉換成ASCII碼,然後移位由2^(char_pos-1)*8
乘以二進制離開的值。
Chr Ascii Pos Pos - 1 Value Binary Value
A 65 1 0 65 00000000000000001000001
c 99 2 1 25344 00000000110001100000000
e 101 3 2 6619136 11001010000000000000000
final sum = 6644545 11001010110001101000001
我該怎麼辦相反的功能:
所以如下字符串「王牌」將被編碼?
除以相同的量和使用'CHR()'函數。 –
問題是你必須得到個人角色。 – Superdooperhero
你可以用'MOD(值,除數)'來獲得最後一個字符的ASCII碼,使用'CHR()'來轉換回一個字符。然後用除數除數並丟棄餘數並重復該過程... –