text-conversions: Safe conversions between textual types

[ data, library ] [ Propose Tags ]

Safe conversions between textual types


[Skip to Readme]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0, 0.2.0, 0.3.0, 0.3.1, 0.3.1.1
Change log CHANGELOG.md
Dependencies base (>=4.7 && <5), base16-bytestring (<2), base64-bytestring (<2), bytestring (<1), text (<3) [details]
License ISC
Author Alexis King
Maintainer Alexis King <lexi.lambda@gmail.com>
Category Data
Home page https://github.com/cjdev/text-conversions
Bug tracker https://github.com/cjdev/text-conversions/issues
Source repo head: git clone https://github.com/cjdev/text-conversions
Uploaded by lexi_lambda at 2022-05-02T22:33:41Z
Distributions Arch:0.3.1.1, Debian:0.3.0, Fedora:0.3.1, LTSHaskell:0.3.1.1, NixOS:0.3.1.1, Stackage:0.3.1.1, openSUSE:0.3.1
Downloads 17330 total (252 in the last 30 days)
Rating 2.5 (votes: 3) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2022-05-02 [all 1 reports]

Readme for text-conversions-0.3.1.1

[back to package description]

text-conversions Build Status Hackage

This is a small library to ease the pain when converting between the many different string types in Haskell. Unlike some other libraries that attempt to solve the same problem, text-conversions is:

  • Safe. This library treats binary data (aka ByteString) like binary data, and it does not assume a particular encoding, nor does it ever throw exceptions when failing to decode. It does, however, provide failable conversions between binary data and textual data.

  • Extensible. It’s easy to add or derive your own instances of the typeclasses to use your own types through the same interface.

Here’s an example of using text-conversions to convert between textual types:

> convertText ("hello" :: String) :: Text
"hello"

And here’s an example of converting from UTF-8 encoded binary data to a textual format:

> decodeConvertText (UTF8 ("hello" :: ByteString)) :: Maybe Text
Just "hello"
> decodeConvertText (UTF8 ("\xc3\x28" :: ByteString)) :: Maybe Text
Nothing

For more details, see the documentation on Hackage.