获取C中字符的EBCDIC值

我需要在C中获得字符的EBCDIC值。我不知道如何。 我必须先获取ASCII值然后从那里获取EBCDIC值吗? 谢谢任何人

如果您使用的是使用EBCDIC作为字符编码的系统,那么您已经拥有它:

char xyzzy = 'A'; // xyzzy is now 0xc1 

如果您的环境是ASCII环境而您只需要EBCDIC代码点,则可以使用从两个表构建的查找表,例如:

在此处输入图像描述在此处输入图像描述

使用8位ASCII字符为您提供EBCDIC代码点的系统的查找表将类似于:

 int ebcdicCodePont (unsigned char asciiVal) { static int lookup[] = { /* 0x00-07 */ -1, -1, -1, -1, -1, -1, -1, -1, /* 0x08-0f */ -1, -1, -1, -1, -1, -1, -1, -1, : /* 0x20-27 */ 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, : /* 0x48-4f */ 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, : /* 0x78-7f */ 0xa7, 0xa8, 0xa9, -1, 0x45, -1, -1, 0x07, }; if (asciiVal > 0x7f) return -1; return lookup[asciiVal]; };