Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java String.getBytes()和Python String之间的行为完全相同->;字节?_Java_Python_Bytearray - Fatal编程技术网

Java String.getBytes()和Python String之间的行为完全相同->;字节?

Java String.getBytes()和Python String之间的行为完全相同->;字节?,java,python,bytearray,Java,Python,Bytearray,在我的Java代码中,我有以下代码片段: String secret = "secret"; byte[] thebytes = secret.getBytes(); 我希望在python中得到完全相同的结果。我该怎么做 secret = 'secret' thebytes = ??? ??? ??? 谢谢 编辑: 此外,Python 2.x和3.x的解决方案也很有趣,我不确定它们是否完全相同,因为Python没有byte,但这可能会起到作用: bytes = [ord(c) for c i

在我的Java代码中,我有以下代码片段:

String secret = "secret";
byte[] thebytes = secret.getBytes();
我希望在python中得到完全相同的结果。我该怎么做

secret = 'secret'
thebytes = ??? ??? ???
谢谢

编辑:

此外,Python 2.x和3.x的解决方案也很有趣,我不确定它们是否完全相同,因为Python没有
byte
,但这可能会起到作用:

bytes = [ord(c) for c in "secret"] # => [115, 101, 99, 114, 101, 116]
或者像KatrieleAlex建议的那样使用
map
,仅仅因为它很漂亮:

bytes = map(ord, "secret") # => [115, 101, 99, 114, 101, 116]

这并不像最初看起来的那么简单,因为Python历来都将字节数组和字符串混为一谈。在Python3中,简短的答案是

secret = "secret"
secret.encode()
但您应该了解Python如何处理unicode、字符串和字节。

在Python-2.7中有:


如果这是您正在寻找的。

secret.getBytes()的结果是什么?哪一版本的Python?字符串处理在Python3中得到了显著的更新,使Unicode变得合理。Unicode不需要。但我认为,如果有一个解决方案,那将是有趣的:-)在Python2.x中,
str
是字节。
str
类型表示字节。它包含字节。您希望如何获得这些字节,您希望如何处理它们?
str
在Python2.x中是一个字节字符串。如果你想让它们的字节值是一个整数,那么
映射(ord,secret)
,就像@Linus所说的那样。这就完成了。谢谢<代码>映射(ord,“secret”)不显示在上面的示例数组中。它显示为
。请指导我如何让字节数组超级复制程序延迟,但这里是<代码>列表(映射(foo,iterable))
>>> s = 'secret'
>>> b = bytearray(s)
>>> for i in b:
...    print i
115
101
99
114
101
116