- 论坛徽章:
- 0
|
1、如何在400上看一个16进制代表的汉字或者字符是什么?使用什么命令,比如说如何知道X'57D1'代表的是汉字'我'
方法举例:进入 STRSQL,16进制前后加 0E 0F
SELECT X'0E57D10F' FROM 你的PF
你的PF如果有记录,你就可以看到汉字'我'
2、如何在程序中先把一个字串转换成16进制后再处理? 比如说我想在程序中获取汉字'中国'的16进制代码'0E5BCF4D9B0F',并能保存到一个变量里
在AS/400里,字符串'中国'在内存中就是(C 语言描述):0x0E,0x5B,0xCF,0x4D,0x9B,0x0F
要变成16进制显示的字符串:"0E5BCF4D9B0F",是很简单的,给你一个C程序:
#include <stdio.h>
#include <string.h>
int main(void)
{
char str1??(??) = {0x0E,0x5B,0xCF,0x4D,0x9B,0x0F,0x00};
char str2??(80??);
int n, i, j, k;
n = strlen(str1);
for(i = 0, k = 0; i < n; i++)
{
j = sprintf(str2 + k, "%02X", str1??(i??));
k += j;
}
printf("str1: <%s>??/n", str1);
printf("str2: <%s>??/n", str2);
}
运行结果就是:
str1: < 中国 >
str2: <0E5BCF4D9B0F> |
|