将 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
谢谢你,克雷格!