{"id":18718571,"url":"https://github.com/clasp-developers/trivial-utf-8","last_synced_at":"2026-01-25T02:33:21.415Z","repository":{"id":204521890,"uuid":"712031556","full_name":"clasp-developers/trivial-utf-8","owner":"clasp-developers","description":"Mirror of https://gitlab.common-lisp.net/trivial-utf-8/trivial-utf-8.git","archived":false,"fork":false,"pushed_at":"2023-10-30T17:35:26.000Z","size":73,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-19T14:04:40.562Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Common Lisp","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"zlib","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clasp-developers.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-30T16:50:30.000Z","updated_at":"2023-10-30T17:45:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"3e891083-ca2b-4bde-a8b9-808943508f50","html_url":"https://github.com/clasp-developers/trivial-utf-8","commit_stats":null,"previous_names":["clasp-developers/trivial-utf-8"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/clasp-developers/trivial-utf-8","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clasp-developers%2Ftrivial-utf-8","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clasp-developers%2Ftrivial-utf-8/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clasp-developers%2Ftrivial-utf-8/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clasp-developers%2Ftrivial-utf-8/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clasp-developers","download_url":"https://codeload.github.com/clasp-developers/trivial-utf-8/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clasp-developers%2Ftrivial-utf-8/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28742511,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T01:40:51.112Z","status":"online","status_checked_at":"2026-01-25T02:00:06.841Z","response_time":113,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T13:22:07.878Z","updated_at":"2026-01-25T02:33:21.401Z","avatar_url":"https://github.com/clasp-developers.png","language":"Common Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Trivial UTF-8 Manual\n\n###### \\[in package TRIVIAL-UTF-8\\]\n## TRIVIAL-UTF-8 ASDF System\n\n- Description: A small library for doing UTF-8-based input and output.\n- Licence: ZLIB\n- Author: Marijn Haverbeke \u003cmarijnh@gmail.com\u003e\n- Maintainer: Gábor Melis \u003cmega@retes.hu\u003e\n- Homepage: [https://common-lisp.net/project/trivial-utf-8/](https://common-lisp.net/project/trivial-utf-8/)\n- Bug tracker: [https://gitlab.common-lisp.net/trivial-utf-8/trivial-utf-8/-/issues](https://gitlab.common-lisp.net/trivial-utf-8/trivial-utf-8/-/issues)\n- Source control: [GIT](https://gitlab.common-lisp.net/trivial-utf-8/trivial-utf-8.git)\n\n## Introduction\n\nTrivial UTF-8 is a small library for doing UTF-8-based in- and\noutput on a Lisp implementation that already supports Unicode -\nmeaning CHAR-CODE and CODE-CHAR deal with Unicode character codes.\n\nThe rationale for the existence of this library is that while\nUnicode-enabled implementations usually do provide some kind of\ninterface to dealing with character encodings, these are typically\nnot terribly flexible or uniform.\n\nThe [Babel][babel] library solves a similar problem while\nunderstanding more encodings. Trivial UTF-8 was written before Babel\nexisted, but for new projects you might be better off going with\nBabel. The one plus that Trivial UTF-8 has is that it doesn't depend\non any other libraries.\n\n[babel]: https://common-lisp.net/project/babel/ \n\n\n## Links\n\nHere is the [official repository][trivial-utf-8-repo] and the\n[HTML documentation][trivial-utf-8-doc] for the latest version.\n\n[trivial-utf-8-repo]: https://gitlab.common-lisp.net/trivial-utf-8/trivial-utf-8 \n\n[trivial-utf-8-doc]: http://melisgl.github.io/mgl-pax-world/trivial-utf-8-manual.html \n\n\n## Reference\n\n- [function] UTF-8-BYTE-LENGTH STRING\n\n    Calculate the amount of bytes needed to encode STRING.\n\n- [function] STRING-TO-UTF-8-BYTES STRING \u0026KEY NULL-TERMINATE\n\n    Convert STRING into an array of unsigned bytes containing its UTF-8\n    representation. If NULL-TERMINATE, add an extra 0 byte at the end.\n\n- [function] UTF-8-GROUP-SIZE BYTE\n\n    Determine the amount of bytes that are part of the character whose\n    encoding starts with BYTE. May signal UTF-8-DECODING-ERROR.\n\n- [function] UTF-8-BYTES-TO-STRING BYTES \u0026KEY (START 0) (END (LENGTH BYTES))\n\n    Convert the START, END subsequence of the array of BYTES containing\n    UTF-8 encoded characters to a [STRING][type]. The element type of\n    BYTES may be anything as long as it can be `COERCE`d into\n    an `(UNSIGNED-BYTES 8)` array. May signal UTF-8-DECODING-ERROR.\n\n- [function] READ-UTF-8-STRING INPUT \u0026KEY NULL-TERMINATED STOP-AT-EOF (CHAR-LENGTH -1) (BYTE-LENGTH -1)\n\n    Read UTF-8 encoded data from INPUT, a byte stream, and construct a\n    string with the characters found. When NULL-TERMINATED is given,\n    stop reading at a null character. If STOP-AT-EOF, then stop at\n    END-OF-FILE without raising an error. The CHAR-LENGTH and\n    BYTE-LENGTH parameters can be used to specify the max amount of\n    characters or bytes to read, where -1 means no limit. May signal\n    UTF-8-DECODING-ERROR.\n\n- [condition] UTF-8-DECODING-ERROR SIMPLE-ERROR\n\n* * *\n###### \\[generated by [MGL-PAX](https://github.com/melisgl/mgl-pax)\\]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclasp-developers%2Ftrivial-utf-8","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclasp-developers%2Ftrivial-utf-8","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclasp-developers%2Ftrivial-utf-8/lists"}