擅长:python、mysql、java
<p>您可以<a href="https://docs.python.org/3/library/stdtypes.html#str.encode" rel="nofollow noreferrer">^{<cd1>}</a>使用<code>utf-16</code>编码的字符,然后将每2个字节的编码数据转换为带有<a href="https://docs.python.org/3/library/stdtypes.html#int.from_bytes" rel="nofollow noreferrer">^{<cd3>}</a>(或python2中的<a href="https://docs.python.org/3/library/struct.html#struct.unpack" rel="nofollow noreferrer">^{<cd4>}</a>)的整数。在</p>
<h2>Python3</h2>
<pre><code>def utf16_decimals(char, chunk_size=2):
# encode the character as big-endian utf-16
encoded_char = char.encode('utf-16-be')
# convert every `chunk_size` bytes to an integer
decimals = []
for i in range(0, len(encoded_char), chunk_size):
chunk = encoded_char[i:i+chunk_size]
decimals.append(int.from_bytes(chunk, 'big'))
return decimals
</code></pre>
<h2>Python 2+Python 3</h2>
^{pr2}$
<p>结果:</p>
<pre><code>>>> utf16_decimals(u'\U0001f498')
[55357, 56472]
</code></pre>