Python中的換碼序列支持十六進制(如'\xab'
)和八進制(如\12
)值。有沒有辦法將ASCII碼指定爲十進制值(可能類似於\n99
)?我搜索了一下,但很驚訝沒有發現。使用十進制ASCII值在字符串中轉義序列?
2
A
回答
1
你正在尋找的東西在Python中不存在。
數字轉義代碼通常以十六進制表示(或不太頻繁,八進制),因爲這是它們預期用途的明顯選擇。 從在Python語言參考,2.4.1. String and Bytes literals表:
注:
[...]
3.在字面一個字節,十六進制和八進制逃逸表示字節與給定的值。在字符串文字中,這些轉義字符表示具有給定值的Unicode字符。
(着重號。 感謝埃弗特在一個comment提供的鏈接。)
要表示字節,你必須精確地指定8位。 在每四位數字4位,這需要兩個十六進制數字完全。 將8位轉換爲2位十六進制數字並返回比將這些相同的8位轉換爲兩點十進制數字和從兩點轉換成十進制數字要容易得多---不需要在頭部乘以(或除)16。
要表示Unicode字符,則必須以Unicode 代碼空間,這是defined爲「到10FFFF 的範圍從0的整數的」指定一個代碼點。 因爲這些都是以十六進制(U+0020
,U+FFFE
等)正式表示的,所以十六進制轉義碼是唯一合理的選擇 - 它們完全不需要任何努力。
相關問題
- 1. 將ASCII字符轉換爲十六進制轉義字符串
- 2. 十六進制ASCII字符串轉換
- 3. 將ascii字符十進制值的字符串轉換爲二進制值
- 4. python字符串與十六進制轉義十六進制值
- 5. 使用十六進制值將字符串的十六進制值轉換爲Ascii字符
- 6. Python3 ASCII十六進制轉換爲二進制字符串
- 7. 使用PHP將ASCII字符轉換爲等值十進制
- 8. 在Java中將十六進制字符串轉換爲ASCII碼
- 9. 十進制字符串到字符ASCII轉換 - C
- 10. ascii十進制字符使用jq
- 11. 轉義字符串文字中的十六進制值
- 12. 轉換十六進制字符串十六進制值
- 13. 將ASCII字符串轉換爲十進制和十六進制表示形式
- 14. 使用十六進制ASCII碼將字符串轉換爲字符
- 15. 如何將十六進制字符串轉換爲Lua中的ascii字符串
- 16. 使用十六進制,十進制和十進制值在C中寫轉義序列?
- 17. 十六進制字符串到ASCII轉換和ASCII到十六進制轉換問題
- 18. 如何將十六進制字符串轉換爲ASCII值在C#中具有相同值的字符串?
- 19. 轉換ASCII值以十六進制值
- 20. Java字符串十六進制字符串ASCII與重音
- 21. Java將字符串轉換爲十進制(ASCII)?
- 22. 擴展ASCII字符串轉換爲十六進制格式
- 23. 轉換十六進制字符串爲ASCII格式
- 24. ASCII字符串到十六進制整數轉換
- 25. c#十六進制字符串到ASCII轉換結果'?'
- 26. Swift3將字符串值轉換爲十六進制字符串
- 27. 轉換十六進制字符串爲ASCII字符串顯示爲00
- 28. GLib API將十六進制字符串轉換爲ASCII字符串?
- 29. 如何使用十六進制轉義調整JavaScript字符串?
- 30. 在python中,如何將十六進制ascii字符串轉換爲原始的內部二進制字符串?
給出[關於轉義碼的官方文檔中的部分](https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals),我會說不。 – Evert
不使用轉義碼,但'chr'可能會有用。 – busybear
如果你正在尋找一些不存在的東西,你沒有找到任何東西並不奇怪。 – Barmar