python - 如何在 Python3 中实现 Javascript String.fromCharCode 以接受减号
问题描述
我必须在 Python 中创建一个字符,如下面的 Javascript 代码:
char = String.fromCharCode(-31)
console.log(char);
这是我的代码:
chr(-31)
但是我在python中遇到了错误:ValueError: chr() arg not in range(0x110000)
我知道问题是将负数传递给chr
函数,但我不知道能够处理负数的女巫函数。
解决方案
不幸的是,Python 中并没有真正chr()
支持接收负数的函数。JavaScript 的行为很奇怪,它不应该真的为此接受负数,因为这没有意义。
它实际上在做的是环绕到 65535,你可以看到:
char = String.fromCharCode(-31)
console.log(char.charCodeAt()) // 65505
char = String.fromCharCode(-1)
char.charCodeAt() // 65535
因此,如果您需要在 Python 中接受负数,您可以使用65536-<number>
例如
>>> chr(65536-31)
'£'
推荐阅读
- oracle - 从 Oracle 到 Postgres 的日期兼容函数
- javascript - React:将新道具传递给组件时,构造函数中声明的 this.var 不会更新
- ruby-on-rails - 建立依赖于他人的关系模型
- python - 在python中并行分割索引处的长字符串
- c - 用双/浮点变量计算
- mysql - 我的查询何时返回 null?(N个最高工资问题)
- javascript - 如何在javascript中动态使用“require”?
- linux - SocketCAN 和传入数据包控制
- html - 避免重复的处理程序调用
- javascript - Angular 6 应用程序中的 Js 引用未正确加载