• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: ASCII Hexadecimal to ASCII Decimal with NSData
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ASCII Hexadecimal to ASCII Decimal with NSData


  • Subject: Re: ASCII Hexadecimal to ASCII Decimal with NSData
  • From: John Stiles <email@hidden>
  • Date: Fri, 9 Nov 2007 16:27:46 -0800

Anything with the high bit set is no longer ASCII.
You could try loading the file as MacRoman or Latin1, any simple character set will do, but with ASCII you will get a failure (NULL result) as soon as a byte value above 127 is found.
I am not sure that you are going to get much mileage out of NSString; you might just go straight to an NSData blob in memory and then work with the data directly.


On Nov 9, 2007, at 4:22 PM, Simon Setterstrom wrote:


I am trying to read a proprietary file format in and parse it. I've read
up (soaking up as much as a newbie can) on NSString and NSData and their
methods allowing you to initialize them to the contents of a file. About the
encoding of the file, some values are ASCII, but all are 8 bits guaranteed
(some have the largest bit flipped to signify state change).


Examples of what I've tried respectively:

NSString *path = @"/Users/simon/Desktop/PAGE _001.DHW";

NSString *myFile = [[NSString alloc]
                        initWithContentsOfFile:path
                        encoding:NSASCIIStringEncoding
                        error:NULL];

and

NSData *myData = [[NSData alloc] initWithContentsOfFile:path
options:NSASCIIStringEncoding error:NULL];

I have read that I am better off working with the straight hexadecimal
ASCII NSData provides me and I would be fine with that, if I knew how to
convert that into decimal ASCII as I would be able to do everything I need
then, but I do not know how.


The reason I (probably foolishly) am toying with NSString is that there is
a Perl program that does what I need to with a similar approach (reads a
character and uses unpack("C",$aChar)); I thought if I could figure out how
to change the encoding / reformat the character to display in binary
(possibly putting the character into NSNumber and using stringValue), I
would have my pretty ASCII decimal number and be set.


NSNumber attempt:

NSString *output = [[NSString alloc] initWithString:@""];
NSString *chunk = [file substringWithRange:NSMakeRange(loopC,1)];
NSNumber *num = [[NSNumber alloc] initWithUnsignedChar: chunk];
output = [output stringByAppendingString: [num stringValue]];


Should I steer myself back towards using NSData and try to parse each byte
(getBytes :length ??) and convert the hexadecimal ASCII into decimal ASCII
with some method or formatter?


Or is there a way with NSString to change the format of a character that
does not fit into a predefined encoding? Subsequently I tried chunk =
[NSString stringWithFormat:@"%c", chunk]; with no luck.


I hope I have been clear with my thoughts; please be patient with me--I
really am trying not to be burdensome. I know that many of these concepts
and libraries do not make much sense to me yet so I am hoping for your
guidance.


Any feedback or direction you could give me would be amazing. Thank you for
donating some of your time to my problem.


Simon
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
40blizzard.com


This email sent to email@hidden

_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: ASCII Hexadecimal to ASCII Decimal with NSData
      • From: Scott Ribe <email@hidden>
References: 
 >ASCII Hexadecimal to ASCII Decimal with NSData (From: "Simon Setterstrom" <email@hidden>)

  • Prev by Date: ASCII Hexadecimal to ASCII Decimal with NSData
  • Next by Date: NSView / Drag and Drop: Any API or constants to detect the start of a drag?
  • Previous by thread: ASCII Hexadecimal to ASCII Decimal with NSData
  • Next by thread: Re: ASCII Hexadecimal to ASCII Decimal with NSData
  • Index(es):
    • Date
    • Thread