में किसी बाहरी प्रोग्राम के बाइनरी आउटपुट को पढ़ना मैं एसबीसीएल में एक बाहरी प्रोग्राम चलाने और इसके आउटपुट को कैप्चर करने की कोशिश कर रहा हूं। आउटपुट द्विआधारी डेटा (एक पीएनजी छवि) है, जबकि एसबीसीएल इसे स्ट्रिंग के रूप में व्याख्या करने पर जोर देता है।सामान्य लिस्प
मैं कई तरीकों से करने की कोशिश की लेकिन
(trivial-shell:shell-command "/path/to/png-generator" :input "some input")
(with-input-from-string (input "some input")
(with-output-to-string (output)
(run-program "/path/to/png-generator"() :input input :output output))
(with-input-from-string (input "some input")
(flexi-streams:with-output-to-sequence (output)
(run-program "/path/to/png-generator"() :input input :output output))
की तरह, मैं की तरह
Illegal :UTF-8 character starting at byte position 0.
त्रुटियों मिल मुझे ऐसा लगता है कि SBCL एक पाठ के रूप में बाइनरी डेटा की व्याख्या और यह डिकोड करने के लिए कोशिश कर रहा है । मैं इस व्यवहार को कैसे बदलूं? मुझे केवल ऑक्टेट्स के वेक्टर प्राप्त करने में दिलचस्पी है।
संपादित करें: चूंकि यह ऊपर दिए गए पाठ से स्पष्ट नहीं है, इसलिए मैं इसे कम से कम flexi-stream के मामले में जोड़ना चाहता हूं, धारा का तत्व-प्रकार flexi-streams:octect
है (जो (unsigned-byte 8)
है)। मैं कम से कम इस मामले मेंको कई मुद्दों के बिना कच्चे बाइट पढ़ने के लिए उम्मीद करता हूं। इसके बजाय मुझे Don't know how to copy to stream of element-type (UNSIGNED-BYTE 8)
हाँ, यह काम करने लगता है, बहुत बहुत धन्यवाद! किसी भी मामले में मुझे यकीन नहीं है कि समस्या कहां है। मेरा मतलब है, आउटपुट के रूप में फ़ाइल स्ट्रीम का उपयोग करना ठीक काम करता है, इसलिए समस्या पूरी तरह से रन-प्रोग्राम में नहीं है, बल्कि स्ट्रिंग स्ट्रीम और रन-प्रोग्राम के बीच बातचीत पर है। लेकिन मैं उम्मीद करता हूं कि आउटपुट-टू-अनुक्रम का उपयोग ठीक से काम करेगा। वैसे भी कम से कम मेरे पास अब एक समाधान है। एक बार फिर धन्यवाद। –
@ मार्कोरिघेल: SO पर, यदि आप एक उत्तर स्वीकार करने की परवाह करते हैं, तो यह एसओ सिस्टम में दिए गए प्रश्न को चिह्नित करता है - यह वोट बटन द्वारा चेक मार्क है। –
अगर यह देखने का इंतजार कर रहा था कि दूसरा समाधान भी काम कर रहा है या नहीं। किसी भी मामले में मैं इसे पसंद करता हूं क्योंकि इसकी बाहरी निर्भरता कम होती है। –