[swift-users] print() behavior difference, working as designed.
Dru Satori
dru at druware.com
Thu Dec 17 09:30:19 CST 2015
( Oops, hit wrong button )
While working on making some adjustments to code that has been developed for OSX/iOS that would allow it to be portable to Linux, we are seeing a behavior that is causing some confusion. I’m not sure it is a bug, it may well be working as designed.
At issue the following code: (where value is an UnsafeMutablePointer<void> containing a pointer to a MacOSRomanStringEncoding of the string ‘hello’)
let data : NSData = NSData.init(bytes:value, length:len)
let s : String = String.init(data:data,
encoding:NSMacOSRomanStringEncoding)!
print("Value: \(s)")
On OSX, this results in a print of:
Value: hello
While on Linux it results in a print of:
Value: (Foundation.NSData, 30)
Is this an intentional design change, or is our simple test case written wrong, or something equally stupid?
On 12/17/15, 10:27 AM, "swift-users-bounces at swift.org on behalf of Dru Satori via swift-users" <swift-users-bounces at swift.org on behalf of swift-users at swift.org> wrote:
>While working on making some adjustments to code that has been developed for OSX/iOS that would allow it to be portable to Linux, we are seeing a behavior that is causing some confusion. I’m not sure it is a bug, it may well be working as designed.
>
>At issue the following code: (where value is an UnsafeMutablePointer<void> containing a pointer to a MacOSRomanStringEncoding of the string ‘hello’)
>
>let data : NSData = NSData.init(bytes:value, length:len)
> let s : String = String.init(data:data,
> encoding:NSMacOSRomanStringEncoding)!
> print("Value: \(s)")
>
>
>
>On OSX, this results in a print of:
>
>
>
>
>_______________________________________________
>swift-users mailing list
>swift-users at swift.org
>https://lists.swift.org/mailman/listinfo/swift-users
More information about the swift-users
mailing list