gpt4 book ai didi

java - python jpype 从java类的实例中获取值

转载 作者:行者123 更新时间:2023-12-01 19:02:43 24 4
gpt4 key购买 nike

我有一个类似的代码

message = "abc".encode()
messageDigest = java.security.MessageDigest.getInstance("SHA-256")
messageDigest.update(message)
hashdata = messageDigest.digest()

当我打印hashdata时在这里我得到<<java class 'byte[]'> at 0x7f1ee005df60>

但我需要它的值(value)。我怎样才能得到它的值?

最佳答案

目前我们不支持 Java 字节数组的 __bytes__ 运算符,但使用定制器可以轻松添加。

import jpype
from jpype import java

# Add the customizer before starting the JVM
@jpype.JImplementationFor('byte[]')
class ByteConverter(object):
def __bytes__(self):
return bytes(self[:])

# Now start the JVM
jpype.startJVM(convertStrings=False)

# Perform Java operations
message = "abc".encode()
messageDigest = java.security.MessageDigest.getInstance("SHA-256")
messageDigest.update(message)
hashdata = messageDigest.digest()

# We got back a Java byte[] and we would like a Python bytes
print(bytes(hashdata))

关于java - python jpype 从java类的实例中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59608488/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com