Formule de colonne pour convertir Unicode en symboleJe souhaite créer une table JMP qui aura une colonne avec le raccourci Unicode pour un symbole, puis demander à JMP d'afficher le symbole (avec une formule) dans une autre colonne.Dans la capture d'écran ci-dessous, je souhaite que la colonne Affiché avoir une formule qui utilise la colonne Unicode comme entrée et qui montre le résultat du symbole affiché.
Le tableau ci-dessous a été créé en tapant manuellement Alt+Code.
Je n'arrive pas à comprendre comment faire cela dans une formule de colonne. Toute aide serait appréciée

Personnalisation de masseIngénierie Qualité et ProcédésRe: +Re: Formule de colonne pour convertir Unicode en symboleSalut @Craige_Hales ,
Merci pour l'explication sur la façon de forcer le "\!" s'échapper. J'avais essayé différentes options, mais je ne les faisais pas fonctionner correctement, mais cette explication m'a aidé à voir comment les choses devaient être modifiées à la fois avec l'échappement et la concaténation.
Merci!,
DS
Re: +Re: Formule de colonne pour convertir Unicode en symbole@Craige_Hales ,
Un merveilleux exemple et une explication de ce qui se passe au moment de l'analyse par rapport au temps d'exécution.
Stan
+Re : Formule de colonne pour convertir Unicode en symboles'échappe !
hex = "03D0";
uni = "\[\!U]\";
// or
// uni = "\!\!U";
quotationmark = "\!"";
beta = eval(parse( quotationmark || uni || hex || quotationmark ));
Construire la chaîne \!U nécessite des échappements afin que JMP n'essaie pas de trouver l'hexagone après le U, avant de l'y mettre. Cela se produit au moment de l'analyse, pas au moment de l'exécution, donc une fois la chaîne construite, dans l'uni ci-dessus, il ne s'agit que d'un texte normal. Jusqu'à ce que parse analyse à nouveau la chaîne. Mais pour ce faire, nous avons besoin d'un extrait valide de JSL, qui sera "\!U03d0", y compris les guillemets. Pour mettre un guillemet, plus d'évasions ! La chaîne est analysée, puis évaluée en un caractère Unicode. Le résultat de l'évaluation est le caractère Unicode et il est attribué à la version bêta.
Le premier échappement utilise \[ ... ]\ pour signifier "ne rien interpréter entre les deux". Le second utilise \!\ pour créer un \ littéral, puis le ! Vous n’êtes que des personnages ordinaires.
Re : Formule de colonne pour convertir Unicode en symboleSalut @Craige_Hales ,
Merci pour l'information à ce sujet, je l'ai trouvée assez intéressante et utile.
Une chose que je ne comprends pas, c'est comment forcer la commande \!U avec l'hexagone. Disons que vous avez une colonne comme celle du site Web auquel vous avez fait référence plus tôt, où les entrées sont toutes U+hex, par exemple Beta = U+03D0
Vous pouvez diviser le texte dans la colonne avec quelque chose comme
Word(1,:Character,"+")||Word(2,:Character,"+")
Ce qui vous donnerait la sortie U03D0.
Mais lorsque j'essaie de mettre cela dans une commande Parse() avec le \!U devant, JMP se plaint de moi. Je comprends que Parse("\!U03D0") donne la version bêta. Ce qui me met au défi, c'est que je ne parviens pas à concaténer le \!U au code hexadécimal. Par exemple, j'essaierais
Parse("\!U"||Word(1,:Character,"+")||Word(2,:Character,"+"));JMP se plaint. Ce que j'aimerais que les éléments contenus dans la commande Parse soient littéralement "\! U03D0" afin que lorsqu'il exécute une analyse dessus, il l'évalue réellement et renvoie la version bêta. J'essaie juste de réfléchir à la manière de procéder sous la forme d'une formule de colonne plutôt que d'un script JSL distinct.
Merci!,
DS
Re : Formule de colonne pour convertir Unicode en symboleOu bien, vous pourriez avoir besoin de quelque chose comme ça
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 );
chaîne = "Ώ" ;
qui, si votre navigateur le prend en charge, ressemble à http://www.fileformat.info/info/unicode/char/038f/index.htm
Le JSL ci-dessus prend la représentation hexadécimale imprimable au format txt, obtient le numéro correspondant, crée une matrice à 1 élément (peut être plus si vous en avez plus) pour Matrix to Blob et utilise le blob contenant le numéro du caractère en UTF- 16 pour créer un véritable caractère Unicode.
Ou, vous pouvez mettre l'hexadécimal dans une chaîne JSL avec le \!U et l'analyser.
Re : Formule de colonne pour convertir Unicode en symbolequelque chose comme
beta = "\!U0392";
theta = "\!U0398";
Ou peut-être
Open(
"http://www.fileformat.info/info/unicode/block/greek_and_coptic/list.htm",
HTML Table( 1, Column Names( 1 ), Data Starts( 2 ) )
);
ce qui rend
Table loaded from URLTable loaded from URLTable loaded from URLTable loaded from URLTable loaded from URLTable loaded from URLTableau chargé à partir de l'URL
J'aime ce site pour trouver des personnages ; créer la version \!U de JMP à partir de la leur
http://www.fileformat.info/info/unicode/char/3b2/index.htm

Ils affichent U+0392, JMP utilise \!U0392
Réponse : +Re : Formule de colonne pour convertir Unicode en symboleOK, c'est ça ?

Merci!
Réponse : +Re : Formule de colonne pour convertir Unicode en symboleÇa semble correct. Je le ferais avec la conversion matrice-blob comme ceci.
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 );
obtenir
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.De nombreux caractères ont été supprimés de cette image ! Utilisation du Bloc-notes et d'une police Notosans.
Réponse : +Re : Formule de colonne pour convertir Unicode en symboleMerci Craig !
Réponse : +Re : Formule de colonne pour convertir Unicode en symboleExiste-t-il une meilleure façon d'organiser ce formulaire ? Je sollicite sincèrement l'aide et les conseils d'experts.
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
Merci Craig !