/* This routine converts UNIX character data into mainframe binary */
/* representation. It is called from the switch statement when */
/* input field type is "6" */
int UNIX_mf_binary( )
{
unsigned char* out_rec;
int out_position;
int int_work_area;
long int long_int_work_area;
int char_work_area;
char temp_area[11]; // This will be having the value of ' 451841'
unsigned char* c_integer_position;
unsigned int i_integer_position;
long_int_work_area = atol(temp_area);
i_integer_position = &long_int_work_area;
c_integer_position = i_integer_position;
out_rec[out_position] = *c_integer_position;
c_integer_position = i_integer_position + 1;
out_position = out_position + 1;
out_rec[out_position] = *c_integer_position;
c_integer_position = i_integer_position + 2;
out_position = out_position + 1;
out_rec[out_position] = *c_integer_position;
c_integer_position = i_integer_position + 3;
out_position = out_position + 1;
out_rec[out_position] = *c_integer_position;
c_integer_position = i_integer_position + 4;
out_position = out_position + 1;
}
我们重写这部分的java代码如下所示:
String bin = " 451841";
int b;
b = Integer.parseInt(bin.trim());
stringBuffer.append((char) (0x000000FF & b));
stringBuffer.append((char) (0x0000FF00 & (b)));
stringBuffer.append((char) (0x00FF0000 & (b)));
stringBuffer.append((char) (0xFF000000 & (b)));
fos.write(stringBuffer.toString().getBytes());
但是对于java代码,其值如下:^@^@^@^a
我们使用的是jre版本1.5。有人能帮我理解如何在java版本1.5中重写这段C代码吗?还有一件事,尽管temp_areaze[11]的长度为11个字符,但它的最大值是6位数。
屏蔽后,无法向下移动8位值:
stringBuffer.append((char) (0xFF000000 & (b)));
应该是:
stringBuffer.append((char) ((b >> 24) & 0xff));
请注意,通过先移位,我们可以省略笨重的大常数,并且总是只做8位掩蔽。
如何通过使用任何Java API或开放源码工具记住打包和分区的十进制格式,将具有cobol copybook作为记录布局信息的大型机二进制文件(EBCDIC)转换为ASCII文件?
问题内容: 我正在编写一个go程序,将十六进制转换为int,binary和ascii。int和二进制文件工作正常,但是ascii引起了问题。如果输入的文本少于2个字符,则可以正常工作,但是如果输入的文本过多,则会导致出现格式错误的文本。我的代码如下: 输入十六进制“ 73616d706c65 ” 时的一些输出示例: 我已经做了很多搜索,并且看到了一些有关“符文”的文档,但是我不确定这是如何工作的。
看看我是否曲解了这些问题,下面是它的全部内容: 一个32位字没有固有的意义,可以用许多同样有效的方式来表示。将以下内容解码为二进制表示、指令、正整数和四个字符的ASCII字符串。 0000 0010 0001 0001 0100 0000 0010 0000
本文向大家介绍JavaScript转换二进制编码为ASCII码的方法,包括了JavaScript转换二进制编码为ASCII码的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript转换二进制编码为ASCII码的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的javascript程序设计有所帮助。
问题内容: 我正在获取ASCII值,并且想将其转换为整数,因为我知道它是整数ASCII值。 这是5的ASCII值。我如何将其转换为整数? 问题答案:
问题内容: 我有一个很大的二进制字符串“ 101101110 …”,并且正在尝试将其存储到字节数组中。最好的方法是什么? 可以说我有largeString =“ 0100111010111011011011000000001000110101” 我正在寻找的结果: [78,187,96,17,21] 01001110 10111011 01100000 00010001 10101 我试过的 但是