Fórmula de columna para convertir Unicode en símboloQuiero hacer una tabla JMP que tenga una columna con el atajo Unicode para un símbolo y luego hacer que JMP muestre el símbolo (con una fórmula) en otra columna.En la captura de pantalla a continuación, me gustaría que la columna Desplegado tener una fórmula que use la columna Unicode como entrada y que muestra el resultado del símbolo mostrado.
La siguiente tabla se creó escribiendo manualmente Alt+Código.
No puedo entender cómo hacer eso en una fórmula de columna. Cualquier ayuda sería apreciada

Tabla de datosRe: +Re: Fórmula de columna para convertir Unicode a símboloHola @Craige_Hales ,
Gracias por la explicación sobre cómo forzar el "\!" Escapar. Probé diferentes opciones, pero no conseguía que funcionaran del todo bien, pero esa explicación me ayudó a ver cómo era necesario modificar las cosas tanto con el escape como con la concatenación.
¡Gracias!,
SD
Re: +Re: Fórmula de columna para convertir Unicode a símbolo@Craige_Hales ,
Un maravilloso ejemplo y explicación de lo que sucede en el tiempo de análisis frente al tiempo de ejecución.
Stan
+Re: Fórmula de columna para convertir Unicode en símboloescapa!
hex = "03D0";
uni = "\[\!U]\";
// or
// uni = "\!\!U";
quotationmark = "\!"";
beta = eval(parse( quotationmark || uni || hex || quotationmark ));
La construcción de la cadena \!U requiere escapes, por lo que JMP no intentará encontrar el hexadecimal después de la U, antes de colocarlo allí. Eso sucede en el tiempo de análisis, no en el tiempo de ejecución, por lo que una vez que se construye la cadena, en uni arriba, es solo texto normal. Hasta que parse vuelva a escanear la cadena. Pero para ello necesitamos un fragmento válido de JSL, que será "\!U03d0", incluidas las comillas. ¡Para obtener una comilla, más escapes! La cadena se analiza y luego se evalúa como un carácter Unicode. El resultado de la evaluación es el carácter Unicode y se asigna a beta.
El primer escape usa \[ ... ]\ para significar "no interpretar nada en el medio". El segundo usa \!\ para hacer un \ literal, luego el ! U son solo personajes regulares.
Re: Fórmula de columna para convertir Unicode a símboloHola @Craige_Hales ,
Gracias por la información sobre esto, me pareció bastante interesante y útil.
Sin embargo, una cosa que no entiendo es cómo forzar el comando \!U con el hexadecimal. Digamos que tiene una columna como la del sitio web al que hace referencia anteriormente, donde las entradas son todas U+hex, por ejemplo, Beta = U+03D0
Puede dividir el texto en la columna con algo como
Word(1,:Character,"+")||Word(2,:Character,"+")
Lo que le daría la salida U03D0.
Pero, cuando trato de poner eso en un comando Parse() con \!U al frente, JMP se queja de mí. Obtengo que Parse("\!U03D0") da beta. Lo que me desafía es que no puedo concatenar \!U al código hexadecimal. Por ejemplo, intentaría
Parse("\!U"||Word(1,:Character,"+")||Word(2,:Character,"+"));JMP se queja. Lo que me gustaría que fueran las cosas dentro del comando Parse es literalmente "\!U03D0" de modo que cuando se ejecute en él, en realidad lo evalúe y devuelva la versión beta. Solo estoy tratando de pensar en cómo hacer esto como una fórmula de columna en lugar de un script JSL separado.
¡Gracias!,
SD
Re: Fórmula de columna para convertir Unicode a símboloO bien, es posible que necesite algo como esto
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 );
cadena = "Ώ";
que, si su navegador lo admite, parece http://www.fileformat.info/info/unicode/char/038f/index.htm
El JSL anterior toma la representación hexadecimal imprimible en txt, obtiene el número correspondiente, crea una matriz de 1 elemento (podría ser más si tiene más) para Matrix to Blob, y usa el blob que contiene el número del carácter en UTF- 16 para crear un carácter Unicode real.
O bien, puede colocar el hexadecimal en una cadena JSL con \!U y analizarlo.
Re: Fórmula de columna para convertir Unicode a símboloalgo como
beta = "\!U0392";
theta = "\!U0398";
O tal vez
Open(
"http://www.fileformat.info/info/unicode/block/greek_and_coptic/list.htm",
HTML Table( 1, Column Names( 1 ), Data Starts( 2 ) )
);
que hace
Table loaded from URLTabla cargada desde URL
Me gusta ese sitio para encontrar personajes; hacer la versión \!U de JMP a partir de la suya
http://www.fileformat.info/info/unicode/char/3b2/index.htm

Muestran U+0392, JMP usa \!U0392