2015-04-22 91 views
-1

根據http://www.in-ulm.de/~mascheck/various/alternate_charset/Esc鍵 + + 將使使得G0集序列表用於或東西。 http://www.vt100.net/docs/vt100-ug/table3-9.html似乎提供了在使用此「表格」時應出現的字符的描述。例如。如何使用替代VT100字符集

<?php 
echo "\x1B)0" . chr(0147) 

...應該導致出現在控制檯上,據我瞭解。但是沒有出現。相反,出現的是g

所以我不完全清楚如何在CLI環境中使用它來顯示。

任何想法?

+0

它可能不適用於Linux,因爲那部分很久以前就被破解了。 –

回答

2

嘗試用(代替)

<?php 
echo "\x1B(0" . chr(0147) 
?> 

(設置在默認的 「G0」 插槽,而)效應的 「G1」 時隙要使用的字符集。移入/移出轉義序列在兩個插槽之間切換。與此同時,我建議您忘記這些遺留問題,並使用適當的無狀態UTF-8及其±符號。

+1

哈哈,你提交了一個編輯,我提交了一個答案,幾乎在同一時間幾乎完全一樣的東西。 UTF-8比切換字符集好得多,一個新的應用程序肯定會使用它。我認爲大多數轉義序列應該是未使用的,如果您正在編寫需要支持一些遺留應用程序的終端仿真器,您只需擔心它們。 –

+0

只是想我會補充說,撤消它做''\ x1B(B「'似乎是足夠的。謝謝! – neubert

+1

確實使用Unicode/UTF-8最大的一點是無狀態的,在這種情況下,然而,正常字符和備用字符集之間的正常字符和備用字符集之間已經過時了,儘管仿真器必須保持這個特性向後兼容,但PuTTY足夠勇敢地拒絕UTF-8模式,這在技術上可能要好得多,但會給很多用戶帶來麻煩。 參見http://www.cl.cam.ac.uk/~mgk25/unicode.html#term – egmont