2011-04-07 13 views
6

मैं इन पात्रों को लिनक्स में कैसे प्रिंट करूं?लिनक्स में विस्तारित असीसी

│ (ascii 179)

├ (ascii 195)

└ (ascii 192)

─ (ascii 196)

मैं किसी भी अष्टाधारी मूल्यों उस के साथ काम करेगा नहीं मिल सकता है echo -e "\ 0xxx", कोई विचार?

उत्तर

5

man printf और info printf पर अधिक पोरिंग के बाद, मुझे लगता है कि मुझे यह काम करने के लिए मिल गया है।

मूल मुद्दा यह प्रतीत होता है कि बैश में अंतर्निहित printf है जो काम नहीं करता है। और, आदमी/जानकारी पृष्ठों के बावजूद, \U काम नहीं करता है। \u अभी भी करता है।

env printf '\u2502'

मुझे एक ऊर्ध्वाधर बॉक्स चरित्र हो जाता है।

+0

'env printf '\ u2502' मुझे प्राप्त करता है", शायद कुछ सेटिंग्स हैं जिन्हें मुझे बदलने की आवश्यकता होगी? .. मैं किसी ऐसे वातावरण को ढूंढने की उम्मीद कर रहा था जो किसी भी पर्यावरण में काम करेगा – Benjamin

+0

यह अजीब है। मुझे लगता है कि मुझे कोई जानकारी नहीं है ... – drysdam

+1

इसके साथ यूनिकोड के लिए बॉक्स ड्राइंग पात्रों की पूरी सूची का उपयोग http://en.wikipedia.org/wiki/Box-drawing_character –

2

या तो पीसी -8/सीपी 437 एन्कोडिंग में फ़ॉन्ट को स्विच करें, या वर्तमान वर्णमाला में एन्कोड किए गए, इसके बजाय उन वर्णों के लिए यूनिकोड मानों का उपयोग करें।

4

यदि आप पात्रों को प्रदर्शित करने के लिए सही एन्कोडर प्राप्त करते हैं तो आप अपने द्वारा प्रदान किए गए सटीक कोड या विस्तारित ASCII वर्ण सेट (उदाहरण के लिए 1 9 5) का उपयोग कर सकते हैं।

लिनक्स पर, हमारे पास गैर-मानक विस्तारित ASCII वर्ण सेट समर्थन की कमी है - यही कारण है कि यह प्रदर्शित नहीं होता है। हालांकि, मुझे एक और चरित्र सेट मिला जो कि लिनक्स के लिए उपलब्ध है और विस्तारित ASCII चरित्र सेट के समान लगभग है। यह आईबीएम 855 है।

आपको बस इतना करना है कि आपके कमांड लाइन एप्लिकेशन के चरित्र एन्कोडिंग को आईबीएम 855 में बदल दिया गया है। सभी लोकप्रिय बॉक्स ड्राइंग पात्रों में विस्तारित ASCII वर्ण सेट का एक ही कोड होता है - जो सबसे महत्वपूर्ण है।

आप इस image और image द्वारा सेट की तुलना कर सकते हैं।

पीएस: यदि आप gnome-terminal का उपयोग कर रहे हैं, तो आप मेनू बार से "टर्मिनल" मेनू पर क्लिक करके आईबीएम 855 वर्णमाला जोड़ सकते हैं -> "अक्षर एन्कोडिंग सेट करें" -> "जोड़ें या निकालें"। आईबीएम 855 की तलाश करें, और इसे जोड़ें। अब बस "टर्मिनल" से एन्कोडिंग चुनें -> "अक्षर एन्कोडिंग सेट करें" -> "सिरिलिक (आईबीएम 855)"।

वे बॉक्स मेरे होमवर्क के लिए पर्याप्त थे। उम्मीद है की यह मदद करेगा। :)

+0

मैक ओएस एक्स पर बैश में यह कैसे करें? –

संबंधित मुद्दे