package uutf

  1. Overview
  2. Docs
Non-blocking streaming Unicode codec for OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

uutf-1.0.2.tbz
sha256=e61a81f535e535b8772aa8ec4950939dd588b9337d4c9fec9743483c3ccda1db
md5=a7c542405a39630c689a82bd7ef2292c

Description

Uutf is a non-blocking streaming codec to decode and encode the UTF-8, UTF-16, UTF-16LE and UTF-16BE encoding schemes. It can efficiently work character by character without blocking on IO. Decoders perform character position tracking and support newline normalization.

Functions are also provided to fold over the characters of UTF encoded OCaml string values and to directly encode characters in OCaml Buffer.t values.

Uutf has no dependency and is distributed under the ISC license.

README

Uutf — Non-blocking streaming Unicode codec for OCaml

v1.0.2

Uutf is a non-blocking streaming codec to decode and encode the UTF-8, UTF-16, UTF-16LE and UTF-16BE encoding schemes. It can efficiently work character by character without blocking on IO. Decoders perform character position tracking and support newline normalization.

Functions are also provided to fold over the characters of UTF encoded OCaml string values and to directly encode characters in OCaml Buffer.t values.

Uutf has no dependency and is distributed under the ISC license.

Home page: http://erratique.ch/software/uutf
Contact: Daniel Bünzli <daniel.buenzl i@erratique.ch>

Installation

Uutf can be installed with opam:

opam install uutf

If you don't use opam consult the opam file for build instructions.

Documentation

The documentation and API reference is automatically generated by from the source interfaces. It can be consulted online or via odig doc uutf.

Sample programs

Sample programs are located in the test directory of the distribution. They can be built and run with:

topkg build --test true && topkg test

The resulting binaries are in _build/test :

  • test.native tests the library, nothing should fail.

  • utftrip.native, among other things, reads unicode on stdin and rewrites it on stdout. Invoke with --help for more information. Depends on Cmdliner.

Dependencies (5)

  1. uchar
  2. topkg build
  3. ocamlbuild build
  4. ocamlfind build
  5. ocaml >= "4.01.0" & < "5.0"

Dev Dependencies

None

Used by (72)

  1. alcotest >= "1.2.0"
  2. archsat
  3. chamo >= "3.0"
  4. coin < "0.1.2"
  5. conan
  6. confero
  7. containers >= "2.1"
  8. containers-thread
  9. crowbar
  10. csvtool
  11. dolmen_type
  12. dotenv
  13. ecaml >= "v0.17.0"
  14. embedded_ocaml_templates
  15. emile
  16. ezjsonm >= "1.3.0"
  17. grace >= "0.2.0"
  18. hardcaml-bloop
  19. hvsock >= "2.0.0"
  20. inquire = "0.2.1" | >= "0.3.1"
  21. iri >= "0.4.0"
  22. irmin >= "2.3.0"
  23. irmin-bench >= "2.7.0"
  24. jingoo >= "1.2.13"
  25. jsonm >= "1.0.0"
  26. jupyter-kernel >= "0.3"
  27. labrys
  28. learn-ocaml
  29. lsp
  30. markup >= "0.7.3"
  31. matita
  32. mrmime
  33. multipart_form
  34. notty >= "0.2.0"
  35. ocaml-lsp-server >= "1.10.5" & < "1.18.0"
  36. ocamlformat >= "0.9" & < "0.25.1"
  37. ocamlformat-lib
  38. ocamlformat-rpc < "0.21.0"
  39. octez-internal-libs
  40. octez-libs
  41. oidc < "0.1.1"
  42. omd >= "2.0.0~alpha3"
  43. opam-core >= "2.2.0~alpha"
  44. opine
  45. otfm >= "0.3.0"
  46. otoml
  47. owi
  48. pecu < "0.2"
  49. printbox >= "0.3" & < "0.6"
  50. printbox-text
  51. progress >= "0.2.0"
  52. rdf >= "0.11.0" & < "1.0.0"
  53. repr
  54. rosetta < "0.3.0"
  55. slug
  56. solidity-typechecker
  57. stk
  58. stog >= "0.17.0" & < "1.0.0"
  59. stringCodepointSplitter
  60. terminal
  61. textutils >= "v0.15.0"
  62. textutils_kernel >= "v0.15.0"
  63. tezos-micheline
  64. tyxml >= "4.1.0"
  65. tyxml-syntax
  66. ubase < "0.20"
  67. unstrctrd
  68. uucp >= "2.0.0" & < "15.1.0"
  69. uuuu < "0.2.0"
  70. xtmpl >= "0.16.0"
  71. yuscii
  72. zed >= "3.2.0"

Conflicts (1)

  1. cmdliner < "0.9.6"
OCaml

Innovation. Community. Security.