2013-07-12 19 views
0

我有变量lr_temp并且它是RAW(8)类型。制作RawToHex(lr_temp)我收到字符串:BDAB59967DF11ECC(以十六进制表示的8个字节)。我的问题是接受整数值的每个字节:Oracle 11g:将RAW(8)转换为整数范围0..255的表格

dbms_output.put_line(RawToHex(lr_temp)); 
    FOR i IN 1 .. 8 
    LOOP 
    dbms_output.put_line(ascii(utl_raw.substr(lr_temp, i, 1))); 
    END LOOP; 

我收到:

BDAB59967DF11ECC 
66 
65 
53 
57 
55 
70 
49 
67 

BD18966AB171没有65等..

回答

2
dbms_output.put_line(RawToHex(lr_temp)); 
    FOR i IN 1 .. lcn_data_length 
    LOOP 
    dbms_output.put_line(utl_raw.cast_to_binary_integer(utl_raw.substr(lr_temp, i, 1))); 
    END LOOP; 

和输出:

BDAB59967DF11ECC 
189 
171 
89 
150 
125 
241 
30 
204