將 Unicode 轉換為符號的列公式我想要製作 JMP 表,其中有一列包含符號的 unicode 快捷方式,然後讓 JMP 在另一列中顯示符號(帶有公式)。在下面的螢幕截圖中,我想要該列顯示擁有使用該列的公式統一碼作為輸入並顯示顯示的符號結果。
下表是透過手動鍵入 Alt+Code 建立的。
我不知道如何在列公式中做到這一點。 任何幫助,將不勝感激

大規模客製化品質和工藝工程回覆:+回覆:將 Unicode 轉換為符號的列公式你好@Craige_Hales ,
感謝您對如何強制「\!」的解釋逃脫。 我嘗試了不同的選項,但並沒有讓它們正常工作,但這種解釋有助於了解如何透過轉義和連接來修改事物。
謝謝!,
DS
回覆:+回覆:將 Unicode 轉換為符號的列公式@Craige_Hales ,
這是一個很好的例子,解釋了解析時與運行時發生的情況。
史丹
+Re:將 Unicode 轉換為符號的列公式逃跑了!
hex = "03D0";
uni = "\[\!U]\";
// or
// uni = "\!\!U";
quotationmark = "\!"";
beta = eval(parse( quotationmark || uni || hex || quotationmark ));
建構字串 \!U 需要轉義,因此在將 U 放在那裡之前,JMP 不會嘗試在 U 之後查找十六進位。 這發生在解析時,而不是運行時,因此一旦構建了字串,在上面的 uni 中,它就只是普通文字。 直到parse再次掃描字串。 但為此,我們需要一個有效的 JSL 片段,即“\!U03d0”,包括引號。 為了得到引號,更多的轉義! 該字串將被解析,然後計算為 Unicode 字元。 eval 的結果是 Unicode 字符,並將其指派給 beta。
第一個轉義使用 \[ ... ]\ 表示「不解釋兩者之間的任何內容」。 第二個使用 \!\ 來產生文字 \,然後是 ! 你只是普通角色。
回覆:將 Unicode 轉換為符號的列公式你好@Craige_Hales ,
感謝您提供有關此的信息,我發現它非常有趣且很有幫助。
我不明白的一件事是如何強制使用十六進制的 \!U 命令。 假設您有一個類似於您之前引用的網站的列,其中的條目都是 U+hex,例如 Beta = U+03D0
您可以使用類似的內容拆分列中的文本
Word(1,:Character,"+")||Word(2,:Character,"+")
這將為您提供輸出 U03D0。
但是,當我嘗試將其放入前面帶有 \!U 的 Parse() 命令時,JMP 向我抱怨。 我知道 Parse("\!U03D0") 給了測試版。 對我來說具有挑戰性的是我無法將 \!U 連接到十六進位代碼。 例如,我會嘗試
Parse("\!U"||Word(1,:Character,"+")||Word(2,:Character,"+"));JMP 抱怨道。 我希望 Parse 命令中的內容實際上是“\!U03D0”,這樣當它對其運行解析時,它實際上會對其進行評估並返回 beta。 我只是想考慮如何將其作為列公式而不是單獨的 JSL 腳本來完成。
謝謝!,
DS
回覆:將 Unicode 轉換為符號的列公式或者,您可能需要這樣的東西
txt = "038F";
code = Hex To Number( txt );
mat = J( 1, 1, code );
blob = Matrix To Blob( mat, "int", 2, "little" );
string = Blob To Char( blob, "utf-16" );
Show( string );
字串=“Ώ”;
如果你的瀏覽器支援的話,看起來像http://www.fileformat.info/info/unicode/char/038f/index.htm
上面的JSL 採用txt 中的可列印十六進位表示形式,取得它的編號,為Matrix 到Blob 建立一個1 元素矩陣(如果有更多,可能會更多),並使用儲存UTF- 中字元編號的blob 16 形式來產生實際的 Unicode 字元。
或者,您可以使用 \!U 將十六進位放入 JSL 字串中並解析它。
回覆:將 Unicode 轉換為符號的列公式就像是
beta = "\!U0392";
theta = "\!U0398";
或者可能
Open(
"http://www.fileformat.info/info/unicode/block/greek_and_coptic/list.htm",
HTML Table( 1, Column Names( 1 ), Data Starts( 2 ) )
);
這使得
Table loaded from URLTable loaded from URLTable loaded from URLTable loaded from URLTable loaded from URLTable loaded from URL從 URL 載入的表
我喜歡那個尋找人物的網站;從他們的版本中製作 JMP 的 \!U 版本
http://www.fileformat.info/info/unicode/char/3b2/index.htm

他們顯示 U+0392,JMP 使用 \!U0392
回覆: +回覆:使用列公式將 Unicode 轉換為符號好的,是這個嗎?

謝謝!
回覆: +回覆:使用列公式將 Unicode 轉換為符號看起來沒問題。我會像這樣用矩陣-blob轉換來實現。
linelength = 32; // break lines every 32 characters
mat = 0 :: 65535; // useful to start at 0, but null is a problem...
mat[1] = Hex To Number( "2400" ); // fixup null character
mat = Shape( mat, N Cols( mat ) / linelength ); // reshape to concatenate new lines
mat = mat || J( N Rows( mat ), 1, 10 ); // newlines(10 decimal is 0A hex) every linelength
blob = Matrix To Blob( mat, "int", 2, "little" ); // little endian 16 bit matches utf-16
string = Blob To Char( blob, "utf-16" ); // done!
Show( string );
要得到
many characters removed for this picture! Using notepad and a notosans font.many characters removed for this picture! Using notepad and a notosans font.many characters removed for this picture! Using notepad and a notosans font.這張圖刪減了很多字元!使用記事本和 Notosans 字體。
回覆: +回覆:使用列公式將 Unicode 轉換為符號謝謝你,克雷格!
回覆: +回覆:使用列公式將 Unicode 轉換為符號是否有更好的表格填寫方式?懇請專家提供協助與指導。
https://community.jmp.com/t5/Discussions/How-to-organize-this-non-standard-form/mp/754705#M93693
https://community.jmp.com/t5/Discussions/How-to-organize-this-non-standard-form/m-p/754705#M93693
謝謝你,克雷格!