Reading Signed And Unsigned Values From A Stream In Both Byte Orders?
May 23, 2011
I need to read signed and unsigned 8 bit, 16 bit and 32 bit values from a file stream which may be little-endian or big-endian (it happens to be a tiff file which carries the byte order indicator at the start).I initially started by writing my own functions to read the values and was able to do so for unsigned values. e.g.
Public Function ReadUInt32() As UInt32
Dim b(4) As Byte
input.Read(b, 0, 4)
[code]....
But then I started looking at signed values and my brain broke.As an alternative, I found the IO.BinaryReader which will let me read signed values directly but doesn't seem to have any way to indicate that the data is big-endian or little-endian.Is there a nice way of handling this? Failing that, can someone tell me how to convert multiple bytes into signed values (in both byte orders)?
View 2 Replies
ADVERTISEMENT
May 6, 2007
I would like to know how to convert a unisgned byte to signed byte
Atm I got this
a
Function readSignedByte() As SByte
'-128/127
Dim b As SByte
[Code]....
it doesn't work one that well works for numbers positive over 127 if lets say ReadByte() has 128 it would give overflow error which I don't want it to give I would like it to overflow the number to negivate value aka its signed value.
View 5 Replies
Apr 19, 2011
I'm creating an emulator for a device to simulate wave forms. My challenge is that when I try to convert the output of the following code, I can't convert the Math.Sin's double output into byte values that lend themselves to the byte array format required by an existing graphing control as listed at bottom below. I''m not sure how to handle this when the sin function creates negative values but the byte values will need to be positive and basically 'shifted up' so that anything over 127 is negative. (0 - 255) unsigned. BitConverter.GetBytes has been suggested but THIS is the result of that attempt.
[Code]....
View 2 Replies
Jun 23, 2009
I'm working with byte arrays and building and disassembling Int16/UInt16 and Int32/UInt32 from them. I'd like to not worry about the Sign bit until I return the final value and just have the code return the appropriate value for the data type that was requested to be converted to/from the byte array
View 3 Replies
Feb 22, 2012
I have been trying to compute the checksum for a line of hex code. This is to create a hex file which will be loaded onto an embedded micro.Some of you guys may not know how this is done so very briefly:
a line of hex bytes:
: 10 01 00 00 21 46 01 36 01 21 47 01 36 00 7E FE 09 D2 19 01 40
The underlined bytes are taken and summed. (in this case the decimal 960). and the bold is the checksum Only the 8LSB (or single least significant byte) is needed to compute the checksum... which in this case, 960 = 03C0 in hex, so only C0 is needed.Two's complement is then taken:
step 1) logical not of C0 which is
step 2) add one (integer)
BIN...........DEC...HEX
[code]....
So here is the code I have been using: (quick mention that in the string passed, the hex bytes are all grouped together, there are no space characters)
Public Sub CreateLine(ByVal Data As String)
'Dim BDataArray(DataLength) As Byte
Dim IDataArray(Data.Length) As Integer
[code]....
where i get into trouble is where i commented 'i get into trouble'. My code works, but it's rather crude Now, in that line i first convert the hex value (string) "SChecksum" into an integer. I want to NOT this, so I get my step 2 from my explanation. However, the results appears to be a signed logical NOT. which gives me the wrong answer. My hashed togther version simply subtracts 256 before the not, in order to give me the correct answer.
Basically, I would love for someone to chime in and point out the flaws in my function, and push me towards figuring out the 'proper' way of doing this. Also I can't quite wrap my head around what would happen in the case a string were passed to my function that is over 16 bits, but I imagine I would have to subtract a larger value than 256, before doing the NOT in this case?(whilst we're on the subject of functions, I've used a 'sub', in which case should I used a sub, and which case should I use a function?).
View 4 Replies
May 25, 2009
I am sending data to server via TCP IP Connection. I am using a continuous loop at the server end - that accepts new clients and while streams can be read, it reads data stream.
The data is sent from the client with 2 leading bytes of data that represent the size of the packet of data sent and type of data.
My question is: how do I retrieve the size of the data packet and then check that this amount of data has been retrieved?
[Code].....
View 1 Replies
May 25, 2009
I am sending data to server via TCP IP Connection. I am using a continuous loop at the server end - that accepts new clients and while streams can be read, it reads data stream.
The data is sent from the client with 2 leading bytes of data that represent the size of the packet of data sent and type of data.
My question is: how do I retrieve the size of the data packet and then check that this amount of data has been retrieved?[code]...
View 9 Replies
Sep 2, 2009
Im using the SSL stream class to connect to a server and authenticate their self-signed certificate. My authentication code gets an error: "RemoteCertificateChainErrors". When I drill down into the X509ChainStatuses, I only see a status of "UntrustedRoot" and status information of "A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider." This seems acceptable due to the self-signed nature of their certificate. I understand that I can ignore this error. However, Id like to do as much as possible to authenticate. I have a certificate from them. Ive been told to add their cert to my root certs somehow. How do I correct my code use this cert in authentication?
[Code]...
View 1 Replies
Oct 15, 2009
I have an array of Bytes. Most of these are interpreted as Unsigned. On certain occasions I need to interprete the byte as signed. Why can't Byte convert to SByte? What I'm doing: I'm trying to program a disassembler for an 8-bit video game ROM. My program reads the ROM and processes each instruction. The instructions are interpreted as unsigned. Some arguments for instructions would be treated by two's complement in the original hardware, however, to make a signed number.
View 8 Replies
Jul 18, 2010
I am reading some values from a Byte Array ,i am confused with the Offset
[Code]...
View 6 Replies
May 3, 2012
I need to be able to write signed bytes to a serial port using SerialPort.Write() method, except that method only takes byte[] arrays of unsigned bytes, how would i write a signed byte to the serial port?For what I'm working on the particular command takes values from -1700 to 1700.
View 1 Replies
Mar 22, 2012
How can I write a signed byte (sbyte) to unmanaged memory using VB.NET? I can use Marshal.WriteByte() to write an unsigned byte, but there doesn't appear to be an overload for signed bytes.
View 1 Replies
Jun 9, 2010
I need to parse a binary stream in .NET to convert a 16 byte unsigned integer. I would like to use the BinaryReader.ReadUIntXX() functions but there isn't a BinaryReader.ReadUInt128() function available. I assume I will have to roll my own function using the ReadByte function and build an array but I don't know if this is the most efficient method?
View 3 Replies
Dec 8, 2009
I just converted the following code from c# to vb.net. It is functional and works correctly with my company's firmware/devices. My next challenge. Previous serialport code used much more readable structs which where then converted (after building a packet) into byte() automatically as part of the serialport encoding. (this is my understanding)How could I
1. morph byte arrays 'ToSocket' and 'ToMTP' below into structs and
2. convert into byte array for Socket.BeginSend(byte(),.....) to stream out to remote devices?
Imports System.ComponentModel
Imports System.Text
Imports System.Net.Sockets
[Code]....
View 3 Replies
Mar 24, 2010
how can i, for example add a datum from the rs232 with other variable here is my code:
Dim ii As Byte
Dim c(100) As Char
c = Me.SerialPort1.ReadExisting()
[Code]....
View 19 Replies
Mar 9, 2009
I have a scenario at hand which has some design discussion going on. To break it down in simple words, think about a hierarchy as such Company -----> Customer ------> Orders (ignore the details of how the orders have products etc) if I was to expose an API to work with this, what would be a better design.
a)
Dim comp As New Company
comp.GetInfo(123)
Dim cust As New Customer
cust.Name= "CustomerName"
comp.Add( cust)
b)
Dim custhand As Customerhandler
Dim cust As New Customer
cust.Name= "CustomerName"
custhand.AddCustomer(cust,123) ''123 is CompanyID
View 5 Replies
Feb 29, 2012
I am working on an invoicing program that based on the Northwind database.I am pulling information from a 'view' for the orders form.How do i program the customer ID field to populate with the corresponding invoiceID (already done through the view) AND when i drop down the customerID box to list all possible customers from the customers table.I have the SQL for the operation I believe the problem is that the field is bound to the orders Orders Qry 'View'.How can i accomplish both of these tasks within the same dropdown?
View 1 Replies
Feb 15, 2011
I have an .net application with 2 processes, communicating using a network stream.The protocol consists of a set of commands, some with parameters, which are sent through the stream to the server. The server processes the command, and sends a response.
The protocol for one of the commands looks like this:
[code]...
Usually, this works fine. Very rarely (probably once every few millions of calls), The reading side gets the wrong values. I added code to trace the values sent and received. This shows that occasionally, the reading side gets two extra bytes, with the value 0, which was not sent by the writing side. These extra bytes appear in different places, e.g. in one case they were between i1 and i2; in another they were between the first and second byte of s2. Does anyone have any idea where these 2 bytes could come from? I checked my code, and every place that writes to the stream is traced, so it doesn't look like they are actually written to the stream. It might be worth noting that s1 is always 0, in the current implementation.
View 1 Replies
Aug 25, 2010
how to convert byte array to memory stream in vb.net.
View 1 Replies
Mar 31, 2011
I'm working on a licensing system for my application. I'd like to put all licensing information (licensee name, expiration date, and enabled features) into an object, encrypt that object with a private key, then represent the encrypted data as a single text string which I can send via email to my customers.
I've managed to get the encrypted data into a byte stream, but I don't know how to convert that byte stream into a text value -- something that contains no control characters or whitespace. Can anyone offer advice on how to do that? I've been researching the Encoding class, but I can't find a text-only encoding.
View 3 Replies
Jun 25, 2009
I try to read a stream and save it as byte array to add it later to zip file.this is the code that I use
Dim totalbytes As Byte() = Nothing
Dim iBytesRead As Integer
Dim sChunks As FileStream = File.OpenRead("c:myfile.wav")
Dim Totalread As Int64 = 0
[code]....
but there is something is not correct,
View 3 Replies
Sep 26, 2011
How to convert memorystream byte array to csv file. I have GetExport method that converts rpt file to excelformatted memorystream and then returns that as a byte array. Is there a way to convert this byte array to a csv file? Due to some reasons I can only pass this byte array back to calling function.
Public Function GetExport(ByVal reportID As ReportID) As Byte()
Dim byteArray As Byte() = Nothing
Using expRptDoc As ReportDocument = New ReportDocument()
Dim rptFileName As String = Server.MapPath(ReportCommand.GetXMLReportPath(reportID))
expRptDoc.Load(rptFileName)
[Code] .....
View 1 Replies
Mar 1, 2009
I am trying to play video files (atleast wmv, avi) from a byte stream in vb.net.Is it possible to direct this data at a wmp control?I have done this successfully with images & picture boxes, just need help with the video.
View 1 Replies
Mar 23, 2009
I have a DEM file(Digital Elevattion Model File) and I am trying to open the file,where we have Latitude and Longitude values inside the DEM file.And, Now I have opened the file using Filestream and Read the file using BinaryReader.But, I am having a trobule in getting the values of Latitude and Longitude.I am getting Byte values randomly as 1,202,31,271 etc.But, we dont have latitude and longitude values more than 180,and also I am not getting 16 bit UInt values.For example, the values should be like Latitude 20.00416666666667 and Longitude 39.99583333333333.So,read the correct Byte values of the DEM file.The code I have used till now is:
Dim fs As FileStream = New FileStream("C:UsersadminDesktopHeader and DEM fileE020N40.DEM", FileMode.Open, FileAccess.Read)
Dim rd As New BinaryReader(fs)
Dim convertDB As UInt16
For i = 0 To rd.BaseStream.Length
[code]....
View 14 Replies
Mar 29, 2010
I'm trying to read data from some local XML files and process data from them using VB.net.
The format is:
<?xml version='1.0' standalone='yes' ?>
<DataFeed>
[code].....
View 2 Replies
Jul 1, 2009
I'm sending an http request through a proxy using tcp, and then using a streamreader to read the netstream...The streamreader is supposed read each line up to </html> , however it doesn't seem to be waiting for the packet/response to be fully received, as it always returns only the first 5-10 lines of HTML.If I add a breakpoint at the line "Using sr", and pause it there for a few seconds and then continue the execution, it will return the full HTML up to the </html> as it should.This is the part of my code which reads the response.
Dim sendbytes As Byte()
sendbytes = System.Text.Encoding.ASCII.GetBytes(ReqHeaders)
netstream = tcp.GetStream()
netstream.Write(sendbytes, 0, sendbytes.Length)
[code].....
View 3 Replies
Jul 6, 2009
i am using visual studio 2008 using vb.net. I have opened an xml stream and am reading it using xmltextreader. So far so good. I am using the following code to parse the stream and to get an understanding of what it contains and how to use the info.
[Code]...
View 1 Replies
Oct 29, 2009
I've got an XMLTextWriter writing to a Stream of a WebRequest. Everything works as it should:
Dim wr As WebRequest = WebRequest.Create("https://wwwcie.ups.com/ups.app/xml/ShipAccept")
With wr[code].....
How can I intercept this XML that's being written as an XMLDocument type? I tried snagging it from the stream but that gave me a 'The stream does not support reading.' exception
View 1 Replies
Feb 2, 2011
I have a packet that I need to send to a client with an ID of 255. I've had no problems sending packets with IDs of 0, 1, and 2. The ID has to be 255. For some reason, after the translation has happened, both me with my server, and the client, get "63" for any Id greater than 127.
This is the code I am using:
Console.WriteLine(Asc(System.Text.ASCIIEncoding.ASCII.GetString(System.Text.ASCIIEncoding.ASCII.GetBytes(Chr("255")))))
Now, This is an overly complicated version of what the server does. You may consider this a bit unnecessary but the inverse functions performed are for your viewing reasons only.
Where it says "255" is the Packet Id I need sent in the format above. As I said, anything larger than 127 returns "63".
View 1 Replies
Jun 9, 2010
If i use a stream to modify few bytes in a file without changing the total number of bytes
does the stream rewrite all the file even if just few bytes have been replaced?
View 1 Replies