Colonna Formula per convertire Unicode in simboloVoglio creare una tabella JMP che abbia una colonna con la scorciatoia unicode per un simbolo e quindi fare in modo che JMP visualizzi il simbolo (con una formula) in un'altra colonna.Nella schermata qui sotto, vorrei la colonna Visualizzato per avere una formula che utilizza la colonna Unicode come input e che mostra il risultato del simbolo visualizzato.
La tabella seguente è stata creata digitando manualmente Alt+Code.
Non riesco a capire come farlo in una formula di colonna. Qualsiasi aiuto sarebbe apprezzato

Tabella datiRe: +Re: Colonna Formula per convertire Unicode in simboloCiao @Craige_Hales ,
Grazie per la spiegazione su come forzare il "\!" fuga. Avevo provato diverse opzioni, ma non riuscivo a farle funzionare correttamente, ma quella spiegazione mi ha aiutato a vedere come le cose dovevano essere modificate sia con escape che concatenate.
Grazie!,
DS
Re: +Re: Colonna Formula per convertire Unicode in simbolo@Craige_Hales ,
Un meraviglioso esempio e spiegazione di ciò che accade al momento dell'analisi rispetto al tempo di esecuzione.
Stan
+ Re: Formula di colonna per convertire Unicode in simboloscappa!
hex = "03D0";
uni = "\[\!U]\";
// or
// uni = "\!\!U";
quotationmark = "\!"";
beta = eval(parse( quotationmark || uni || hex || quotationmark ));
La creazione della stringa \!U richiede escape in modo che JMP non tenti di trovare l'esadecimale dopo la U, prima che tu lo inserisca lì. Ciò accade in fase di analisi, non in fase di esecuzione, quindi una volta che la stringa è stata creata, in uni sopra, è solo testo normale. Fino a quando parse analizza nuovamente la stringa. Ma per farlo abbiamo bisogno di uno snippet valido di JSL, che sarà "\!U03d0", comprese le virgolette. Per ottenere una virgoletta, più fughe! La stringa analizza, quindi restituisce un carattere Unicode. Il risultato dell'eval è il carattere Unicode ed è assegnato a beta.
Il primo escape usa \[ ... ]\ per indicare "non interpretare nulla nel mezzo". Il secondo usa \!\ per creare un letterale \, poi il ! Siete solo personaggi normali.
Re: Colonna Formula per convertire Unicode in simboloCiao @Craige_Hales ,
Grazie per le informazioni su questo, l'ho trovato molto interessante e utile.
Una cosa che non capisco è come forzare il comando \!U con l'esadecimale. Supponiamo che tu abbia una colonna come dal sito Web a cui fai riferimento in precedenza, in cui le voci sono tutte U+hex, ad esempio Beta = U+03D0
Puoi dividere il testo nella colonna con qualcosa di simile
Word(1,:Character,"+")||Word(2,:Character,"+")
Il che ti darebbe l'output U03D0.
Ma, quando provo a inserirlo in un comando Parse() con \!U davanti, JMP si lamenta con me. Ho capito che Parse("\!U03D0") dà beta. Ciò che mi sfida è che non riesco a concatenare \!U al codice esadecimale. Ad esempio, proverei
Parse("\!U"||Word(1,:Character,"+")||Word(2,:Character,"+"));JMP si lamenta. Quello che mi piacerebbe che le cose all'interno del comando Parse fossero letteralmente "\!U03D0" in modo che quando esegue parse su di esso, lo valuta effettivamente e restituisce beta. Sto solo cercando di pensare a come farlo come una formula di colonna piuttosto che uno script JSL separato.
Grazie!,
DS
Ri: Colonna Formula per convertire Unicode in simboloOppure potresti aver bisogno di qualcosa del genere
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 );
stringa = "Ώ";
che, se il tuo browser lo supporta, sembra http://www.fileformat.info/info/unicode/char/038f/index.htm
Il JSL sopra prende la rappresentazione esadecimale stampabile in txt, ne ottiene il numero, crea una matrice di 1 elemento (potrebbe essere di più se ne hai di più) per Matrix to Blob e usa il blob che contiene il numero del carattere in UTF- 16 per creare un vero carattere Unicode.
Oppure, potresti inserire l'esadecimale in una stringa JSL con \!U e analizzarlo.
Ri: Colonna Formula per convertire Unicode in simboloqualcosa di simile a
beta = "\!U0392";
theta = "\!U0398";
O forse
Open(
"http://www.fileformat.info/info/unicode/block/greek_and_coptic/list.htm",
HTML Table( 1, Column Names( 1 ), Data Starts( 2 ) )
);
che rende
Table loaded from URLTabella caricata dall'URL
Mi piace quel sito per trovare personaggi; creare la versione \!U di JMP dalla loro
http://www.fileformat.info/info/unicode/char/3b2/index.htm

Mostrano U+0392, JMP usa \!U0392