मेरे पास 3 स्ट्रिंग्स की एक पैक स्ट्रिंग है जो कि इस तरह से बनाई गई है ताकि मेरे पास एक पूर्णांक हो, जो अगले आइटम की बाइट लंबाई निर्दिष्ट करे और फिर उस आइटम के बाइट्स और फिर अगले आइटम के बाइटसाइट आदि को निर्दिष्ट करे। जैसे कि किसी ने किया:रूबी स्ट्रिंग # अनपैक
[a.bytesize, a, b.bytesize, b, c.bytesize, c].pack("na*na*na*")
मैं इसे सरल तरीके से कैसे ठीक से अनपैक कर सकता हूं? इस समस्या का समाधान पर्ल था: है एक आसान
vals = []
3.times do
size = data.unpack("n").first
data.slice!(0, 2)
vals << data.unpack("a#{size}").first
data.slice!(0, size)
end
वहाँ:
my($a, $b, $c) = unpack("(n/a*)3", $data)
गहरे लाल रंग का है, जो जाहिरा तौर पर समर्थन नहीं करता '/' और खोल में कोष्ठकों के लिए, मैं की तरह कुछ का उपयोग कर रहा इस के लिए रास्ता?
जब तक किसी को यह करने के लिए एक सरल उपाय पाता है, मैं गहरे लाल रंग का है समस्या ट्रैकर पर खोल विस्तार करने के लिए एक सुविधा का अनुरोध बनाने पर विचार होगा, कार्यान्वयन कुछ पर्ल सुविधाओं हो जाता है, तो लगता है कि यह उपयोगी हो सकता है लगता है – Speed