मैं कुछ जावा लाइब्रेरी और जेआरबीबी के माध्यम से byte[]
के रूप में जेआरबीई में एक बाइनरी स्ट्रिंग पास करने की कोशिश कर रहा हूं, जहां मैं इसे वापस स्ट्रिंग में बदलना चाहता हूं, लेकिन मैं स्ट्रिंग के बिना गड़बड़ किए बिना इसे कैसे किया जाए, यह पता नहीं लगा सकता है।जावा बाइट सरणी में जेआरबीई स्ट्रिंग को कनवर्ट करें, और फिर वापस
विशेष रूप से मैं रूबी हैश को बीएसओएन के रूप में एन्कोड कर रहा हूं और इसे एएमक्यूपी पर पास कर रहा हूं, लेकिन यह byte[]
से रूपांतरण है जो काम नहीं करता है। इस कोड को
import org.jruby.RubyString
blob = BSON.serialize({'test' => 123123123123}).to_s
p blob
p RubyString.bytes_to_string(RubyString.string_to_bytes(blob))
आउटपुट
"\x13\x00\x00\x00\x12test\x00\xB3\xC3\xB5\xAA\x1C\x00\x00\x00\x00"
"\x13\x00\x00\x00\x12test\x00\xC2\xB3\xC3\x83\xC2\xB5\xC2\xAA\x1C\x00\x00\x00\x00"
मैं भी
java.lang.String.new(blob.to_java.bytes).to_s
की कोशिश की है, लेकिन यह एक ही है, गलत, स्ट्रिंग आउटपुट।
क्या JRuby स्ट्रिंग और byte[]
से कनवर्ट करने के लिए कोई आसान/सुरक्षित तरीका है?