Embedded 从URI扫描机器读取数据时,机器正在发送第一个字符,但无法找到该字符的ascii值

Embedded 从URI扫描机器读取数据时,机器正在发送第一个字符,但无法找到该字符的ascii值,embedded,Embedded,我正在使用RS232标准进行串行通信,并尝试从分析仪获取数据。在这种情况下,机器向主机发送数据,但 在该数据机发送的起始字符'☻' 而结尾字符是'♥' 但我无法找出这些字符的类型以及如何找到这些字符的ascii值 这是来自分析仪的数据: StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("☻Date :2017-05-15 13:28:36"); stringBuild

我正在使用RS232标准进行串行通信,并尝试从分析仪获取数据。在这种情况下,机器向主机发送数据,但 在该数据机发送的起始字符'☻' 而结尾字符是'♥' 但我无法找出这些字符的类型以及如何找到这些字符的ascii值

这是来自分析仪的数据:

StringBuilder  stringBuilder = new StringBuilder();
        stringBuilder.append("☻Date :2017-05-15 13:28:36");
        stringBuilder.append("ID_NO:0001-AJAY");
        stringBuilder.append("ward - ");
        stringBuilder.append("name - ");
        stringBuilder.append("BLD    -    neg");
        stringBuilder.append("BIL    -    neg");
        stringBuilder.append("URO    +-  norm");
        stringBuilder.append("KET    -    neg");
        stringBuilder.append("PRO    -    neg");
        stringBuilder.append("NIT    -    neg");
        stringBuilder.append("GLU    -    neg");
        stringBuilder.append("p.H         5.5");
        stringBuilder.append("S.G       1.015");
        stringBuilder.append("LEU    -    neg");
        stringBuilder.append("COL LT. Yellow");
        stringBuilder.append("CLA Clear");
        stringBuilder.append("♥");
我想要这些字符的ascii值:

例如:

假设,某台机器发送的字符0x02以0x04开头和结尾,表示以0x02开始传输,以0x04结束传输

还有一件事,以设置机器配置参数,如数据奇偶校验,波特率手动我想知道我们如何可以设置机器的参数手动


请帮助我解决此问题,感谢并感谢高级…

特定字符在文本编辑器中的呈现方式可能取决于许多因素,如操作系统、文本编辑器、是GUI文本编辑器还是控制台应用程序(至少在Windows中)、是Unicode还是基于代码页

在(IBM PC/MS-DOS的原始字符集)中♥ 字形被分配给ASCII 3(ETX-文本结尾),并且☻ 是ASCII 2(STX-文本的开头),在这种情况下很可能是这样

    stringBuilder.append( "\x02" ) ;
    stringBuilder.append( "Date :2017-05-15 13:28:36" ) ;
    ...
    stringBuilder.append( "\x03" ) ;

您可以通过简单地在调试器中检查生成的字符串,或者通过将字符强制转换为
int
并输出它们来回答自己的问题。

特定字符在文本编辑器中的呈现方式可能取决于许多因素,例如操作系统、文本编辑器,无论是GUI文本编辑器还是控制台应用程序(至少在Windows中),以及它是基于Unicode还是基于代码页

在(IBM PC/MS-DOS的原始字符集)中♥ 字形被分配给ASCII 3(ETX-文本结尾),并且☻ 是ASCII 2(STX-文本的开头),在这种情况下很可能是这样

    stringBuilder.append( "\x02" ) ;
    stringBuilder.append( "Date :2017-05-15 13:28:36" ) ;
    ...
    stringBuilder.append( "\x03" ) ;

您可以通过在调试器中简单地检查生成的字符串来回答自己的问题,或者通过将字符强制转换为
int
并输出它们。

这些符号在任何ASCII样式中都不是标准化的。在不可打印的ASCII字符中,您有1=标题开始,2=文本开始,3=文本结束t、 4=传输结束。但遵循这些并不特别重要。这里有两个问题;你应该将这些问题保留为单个问题。第二个问题根本没有反映在标题中,并且完全不清楚你在任何情况下都在问什么。希望它被忽略;删除它并在此基础上发布一个新问题。无论如何,机器的文档应该是您的第一资源;想到医疗应用程序可能是由对设备进行反向工程而不是阅读手册的人编写的,我不寒而栗!这些符号在任何ASCII格式中都没有标准化。在不可打印的ASCII字符中,您有1=h的开头阅读,2=文本的开始,3=文本的结束,4=传输的结束。但是遵循这些并不特别重要。这里有两个问题;你应该将这些问题保留为单个问题。第二个问题根本没有反映在标题中,并且在任何情况下都完全不清楚你在问什么。希望被忽略;delete它和张贴一个新的问题。在任何情况下,该机器的文档应该是你的第一资源;我不寒而栗地认为,医疗应用程序可能是由谁写的逆向工程的设备,而不是阅读手册!显示字体是另一个因素,影响如何呈现字符。我赢了dows机器上有一个名为“Terminal”的字体,它使用了旧的IBM字符。@kkrambo:我想我已经把“font”作为一个因素包括进去了——显然不是。谢谢。显示字体是影响字符呈现方式的另一个因素。在我的Windows机器上有一个名为“Terminal”的字体这使用了旧的IBM字符。@kkrambo:我想我已经把“字体”作为一个因素了——显然不是。谢谢。