C#调用Java webSevice 中 问题
C#调Javawebserivce 中byte 取负数时 由于C#中的机制byte只能存入无符号数据,如果遇到负数问题,把负数转化为十六进制 无符号数据,底层是以流来读取这不要担心
将b[ i ] & 0xFF将一个byte和 0xFF进行了与运算
代码如下:
private void Form1_Load(object sender, EventArgs e)
{
htc.HTCWebService h = new htc.HTCWebService();
string s = h.QueryOrder("201109051402", "voFYbZmlEErGTh6sNBEFEw==", "VOiyOrbvG5fKRrwjrJPIxw==");
string[] s2 = s.Split(',');
//Convert.ToByte(
byte[] b = new byte[s2.Length];
//System.IO.FileStream fs1 = new System.IO.FileStream("c:\\b.xml", System.IO.FileMode.Open, System.IO.FileAccess.Read);
for (int i = 0; i < s2.Length; i++)
{
//如果是负数转化成无符号数据
if (int.Parse(s2[i].ToString()) < 0)
b[i] = (byte)(0xff & int.Parse(s2[i].ToString()));
else
b[i] = byte.Parse(s2[i].ToString());
}
//System.IO.MemoryStream ms = new System.IO.MemoryStream();
//ms.Read(b, 0, b.Length);
System.IO.FileStream fs = new System.IO.FileStream("c:\\aaa.xml", System.IO.FileMode.Append);
fs.Write(b, 0, b.Length);
fs.Close();
}
分享到:
相关推荐
了解这些转换技巧对于处理串口通信或与硬件设备交互的C#应用至关重要。确保正确地解析字节数据,可以避免错误的计算结果和数据丢失。在实际项目中,还可能需要考虑到字节序(endianness)的问题,特别是在跨平台的...
在实际编程中,`float`和`double`的转换常常应用于科学计算、图形渲染、金融计算等领域,因此了解并熟练掌握IEEE 754标准和C#中的浮点数处理是非常关键的。 文件列表中的"UniEncoder.sln"和"UniEncoder.suo"通常与...
在本文中,我们将深入探讨如何使用C#编程语言实现S7协议,以便与西门子PLC(可编程逻辑控制器)进行数据交换。S7协议是西门子专为与其PLC系列通信设计的一种通讯协议,它允许用户通过网络进行读写操作,监控和控制...
除了基本的进制转换外,给定的内容中还提到了一些C#中的位操作符,这些操作符对于处理二进制数据非常有用。例如: - `~` (按位取反) - `&` (按位与) - `|` (按位或) - `^` (按位异或) - `(左移) - `>>` (右移) 这些...
在C#编程语言中,进行这种单位转换是常见的任务,特别是在处理文件大小、内存占用或者网络传输速度时。本文将详细探讨如何在C#中进行字节到GB、MB和KB的转换。 首先,了解这些单位的换算关系是至关重要的。1 KB等于...
在C#中,可以使用`BitConverter`类来处理二进制数据,以及`float.Parse`和`float.ToString("R")`方法来进行字符串和浮点数之间的转换。为了处理二进制浮点数的十六进制表示,可以使用`Convert.ToInt32`和`...
标题中的“四个字节十六进制...总之,本文介绍了IEEE754单精度浮点数的表示方法,以及在C#和单片机环境中如何进行字节与浮点数之间的转换,这对于理解数字在内存中的存储方式以及在跨平台通信中处理浮点数据至关重要。
在C#这门面向对象的编程语言中,数据类型分为两大类:基本数据类型和引用数据类型。本篇文章将深入探讨C#中的数据类型。 1. 基本数据类型 - 整型:包括`byte`(8位无符号整数),`short`(16位有符号整数),`int`(32...
在C#中,当我们处理整数类型时,如byte、short、int等,可能会遇到溢出问题。默认情况下,C#的运算操作是未检查的(unchecked),这意味着即使发生溢出,程序也不会抛出OverflowException异常。例如,如果将byte类型...
在C#编程语言中,理解和操作二进制浮点数对于开发高效和精确的算法至关重要。本篇将详细介绍如何将二进制浮点数转换为十进制数。 一、二进制浮点数的结构 1. 符号位:一个二进制位,0表示正数,1表示负数。 2. ...
在C#编程语言中,枚举(Enumeration)是一种非常有用的数据类型,它允许我们为一组相关的整数值定义命名常量。通过使用枚举,代码的可读性和可维护性得到显著提升,因为我们可以使用有意义的名称代替硬编码的数字。 ...
在C#中,整数类型包括`int`, `long`, `ulong`, `byte`等,浮点数类型有`float`, `double`。我们要转换的数字可能是这些类型中的任意一种。 2. **字符串操作**:在C#中,数字与字符串之间的转换是通过`ToString()`和...
C#是一种面向对象的编程语言,其语法结构严谨,包含了值关键字和非值关键字。值关键字主要用于声明变量,表示特定的数据类型,而非值关键字则用于构建程序结构和控制流程。 1. 值关键字: - `bool`:布尔类型,...
`float`在C#中是单精度浮点数,它在内存中按照IEEE 754标准存储,占用32位(4字节)。这个标准定义了如何将一个浮点数转换为二进制形式,并且规定了符号、指数和尾数的布局。本文将详细介绍如何查看`float`类型的...
- **对应原理**:虽然C++中的DWORDLONG是无符号类型,但通常情况下可以使用long来代替,特别是在处理非负数的情况。 **5. DWORD (C++) → uint (C#)** - **DWORD**:C++中的32位无符号整数类型。 - **uint**:C#...
字节型( sbyte)和无符号字节型( byte)占用8位,短整型( short)和无符号短整型( ushort)占用16位,整型( int)和无符号整型( uint)占用32位,长整型( long)和无符号长整型( ulong)占用64位。...
- `-8 % 3 = -2`: 负数取模的结果取决于编译器实现,这里遵循了C#的标准实现。 - `-8 % (-3) = -2`: 同上。 - `8 % (-3) = 2`: 结果为正数,因为取模运算的结果符号与被除数相同。 #### 字符类型与Unicode - **...
C#内置了多种基本数据类型,如Byte、Char、Int、Long、Short、Double、Bool和Float等,它们各自有特定的存储大小和用途。 **其他数据类型与结构** C#还支持Struct、Enum、数组(一维和多维)以及指针。指针能够...
在C#中,数据类型是程序设计的基础,它定义了变量可以存储的数据种类。C#数据类型分为两大类:基本数据类型和引用数据类型。这里我们将深入探讨压缩包文件中涉及到的一些基本数据类型。 1. **枚举(enum)** 枚举...
在C#编程中,设计一个能处理超过100位的长整数类是一个常见的需求,特别是在处理大数值计算、加密算法或者金融计算时。这个压缩包中的代码可能包含了一个这样的实现,它利用指针和整数size作为数据成员来存储和操作...