擅长:python、mysql、java
<p><code>#FFFFFF</code>,很简单</p>
<p>每个字符都有<code>0..F</code>范围。那就是<code>0..15</code>。所以两个字符是<code>0..(16*16-1) -> 0-255</code></p>
<p>要在格式之间转换,只需考虑:</p>
<p><code>#AABBCC</code>是三个值<code>AA BB CC</code>。每个值代表一个通道(红、绿、蓝),可以从<code>0</code>到<code>255</code>,或者从<code>0</code>到{<cd10>},或者从<code>0.0</code>到{<cd12>}</p>
<p>例如,如果您有123456,您可以这样做</p>
<pre><code>12 -> 1*16 + 2 = .. (result in range 0-255)
34 -> 3*16 + 4 = ..
56 -> 5*16 + 6 = ..
</code></pre>
<p>一般来说,由<code>XY</code>组成的两位数的十六进制数可以通过将<code>X</code>乘以16并加上<code>Y</code>来转换为十进制值,注意将超过9(a、B、C、D、E、F)的数字转换为对应的(10、11、12、13、14、15)。例如<code>AC</code>就是<code>A*16 + C = 10*16 + 12</code>。在</p>
<p>(确切地说,一个n位的十六进制数是通过从右数第i位乘以16^i并将它们相加来转换的)</p>