[Haskell-cafe] How do I use ByteString?
dons at galois.com
Mon Apr 5 21:51:23 EDT 2010
> Hi all,
> I've never found an easy way to deal with ByteStrings.
> I'm using the RSA library and it en- and decodes
> I initially start with Strings, ie. [Char], but there is no function to
> convert the 2 back and forth. There is however a function which takes
> [Word8] to BytesString and back.
> It all wouldn't be so confusing if there weren't several versions of
> ByteString in several modules to choose from. And a number of libraries
> requiring different types of ByteString.
> I am sure the designers of the bytestring package had good reason for
> this design, is there also a webpage which explains which one to use and
> under what circumstances?
As a general rule you should never convert between String and
bytestring. You can read bytestrings from files, or write literals using
"pack" or the -XOverloadedStrings extension
Converting between lazy and strict bytestrings is a representation
change, and changes complexity - so be aware of what you're doing. You
can do this via fromChunks or concat . toChunks.
More information about the Haskell-Cafe