TextMate 在 python 中不执行 encode() 函数
TextMate doesn't perform encode() function in python
朋友们。
我在TextMate中处理一个问题,我用它来正常编写代码。
对于我的哈希映射脚本,我需要将字符串编码为字节。
举个例子,如果我写:
password = "orange"
bytes_list = list(password.encode())
print(bytes_list)
预期的输出是 [111, 114, 97, 110, 103, 101]
如果我 运行 来自 Python 的 IDLE 的脚本,即使我在我的 shell 中编写相同的代码,我也会得到.
但是如果我 运行 TextMate 中的代码,结果会产生 ['o', 'r', 'a', 'n', 'g', 'e']
,所以很明显,TextMate 中的 encode() 函数是没有按预期工作。
有趣的是,如果我执行从 TextMate 到 shell 的代码,它也不起作用。
在 TextMate 的首选项中,编码设置为 Unicode - UTF-8 并安装了 Unicode 包。
我无法通过 Google 找到该主题的任何答案。也许你们中的一些人过去遇到过这样的问题。
感谢您的帮助。
您的 TextMate 使用 Python 2.7:
$ python
Python 2.7.16 (default, Dec 3 2019, 07:02:07)
[GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.37.14)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> password = "orange"
>>> bytes_list = list(password.encode())
>>> print(bytes_list)
['o', 'r', 'a', 'n', 'g', 'e']
>>>
Python 3 将给出您期望的输出:
$ python3
Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 03:13:28)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> password = "orange"
>>> bytes_list = list(password.encode())
>>> print(bytes_list)
[111, 114, 97, 110, 103, 101]
>>>
朋友们。
我在TextMate中处理一个问题,我用它来正常编写代码。
对于我的哈希映射脚本,我需要将字符串编码为字节。
举个例子,如果我写:
password = "orange"
bytes_list = list(password.encode())
print(bytes_list)
预期的输出是 [111, 114, 97, 110, 103, 101]
如果我 运行 来自 Python 的 IDLE 的脚本,即使我在我的 shell 中编写相同的代码,我也会得到.
但是如果我 运行 TextMate 中的代码,结果会产生 ['o', 'r', 'a', 'n', 'g', 'e']
,所以很明显,TextMate 中的 encode() 函数是没有按预期工作。
有趣的是,如果我执行从 TextMate 到 shell 的代码,它也不起作用。
在 TextMate 的首选项中,编码设置为 Unicode - UTF-8 并安装了 Unicode 包。
我无法通过 Google 找到该主题的任何答案。也许你们中的一些人过去遇到过这样的问题。
感谢您的帮助。
您的 TextMate 使用 Python 2.7:
$ python
Python 2.7.16 (default, Dec 3 2019, 07:02:07)
[GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.37.14)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> password = "orange"
>>> bytes_list = list(password.encode())
>>> print(bytes_list)
['o', 'r', 'a', 'n', 'g', 'e']
>>>
Python 3 将给出您期望的输出:
$ python3
Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 03:13:28)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> password = "orange"
>>> bytes_list = list(password.encode())
>>> print(bytes_list)
[111, 114, 97, 110, 103, 101]
>>>