{"id":22607871,"url":"https://github.com/patch/unicode-programming","last_synced_at":"2026-02-11T22:02:03.958Z","repository":{"id":8833075,"uuid":"10535619","full_name":"patch/unicode-programming","owner":"patch","description":"Unicode programming examples","archived":false,"fork":false,"pushed_at":"2016-08-22T21:48:45.000Z","size":39,"stargazers_count":35,"open_issues_count":0,"forks_count":2,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-28T22:19:47.001Z","etag":null,"topics":["docs","i18n","unicode","utf8"],"latest_commit_sha":null,"homepage":"http://unicode-programming.readthedocs.org/en/latest/README/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/patch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-06-06T20:17:00.000Z","updated_at":"2023-06-10T05:42:12.000Z","dependencies_parsed_at":"2022-09-20T07:23:58.774Z","dependency_job_id":null,"html_url":"https://github.com/patch/unicode-programming","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/patch/unicode-programming","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patch%2Funicode-programming","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patch%2Funicode-programming/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patch%2Funicode-programming/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patch%2Funicode-programming/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/patch","download_url":"https://codeload.github.com/patch/unicode-programming/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patch%2Funicode-programming/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266053828,"owners_count":23869496,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["docs","i18n","unicode","utf8"],"created_at":"2024-12-08T14:22:37.077Z","updated_at":"2026-02-11T22:01:58.940Z","avatar_url":"https://github.com/patch.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Unicode Programming Examples\n\nA collection of Unicode-related tasks in multiple programming languages. Feel\nfree to add or improve examples and new languages.\n\n## Contents\n\n1. **UTF-8 source code**\n\n  [Julia](source-code/julia.md),\n  [Perl 5](source-code/perl5.md),\n  [Perl 6](source-code/perl6.md),\n  [Python](source-code/python.md),\n  [Ruby](source-code/ruby.md)\n\n2. **Encoded I/O**\n\n  [Perl 5](io/perl5.md),\n  [Perl 6](io/perl6.md)\n\n3. **Encode and decode**\n\n  [Julia](encode-decode/julia.md),\n  [Perl 5](encode-decode/perl5.md),\n  [Perl 6](encode-decode/perl6.md)\n\n4. **Count encoded bytes**\n\n  [Julia](count-bytes/julia.md),\n  [Perl 5](count-bytes/perl5.md),\n  [Perl 6](count-bytes/perl6.md)\n\n5. **Count characters of a string**\n\n  [JavaScript](count-characters/javascript.md),\n  [Julia](count-characters/julia.md),\n  [Perl 5](count-characters/perl5.md),\n  [Perl 6](count-characters/perl6.md),\n  [PHP](count-characters/php.md),\n  [Ruby](count-characters/ruby.md)\n\n6. **Unicode normalization**\n\n  [C♯](normalization/csharp.md),\n  [Go](normalization/go.md),\n  [Java](normalization/java.md),\n  [JavaScript](normalization/javascript.md),\n  [Julia](normalization/julia.md),\n  [Perl 5](normalization/perl5.md),\n  [Perl 6](normalization/perl6.md),\n  [PHP](normalization/php.md),\n  [Python](normalization/python.md),\n  [R](normalization/r.md),\n  [Ruby](normalization/ruby.md),\n  [Tcl](normalization/tcl.md),\n  [VB](normalization/vb.md)\n\n7. **Letter casing**\n\n  [Go](letter-casing/go.md),\n  [Julia](letter-casing/julia.md),\n  [Perl 5](letter-casing/perl5.md),\n  [Perl 6](letter-casing/perl6.md),\n  [PHP](letter-casing/php.md),\n  [Python](letter-casing/python.md),\n  [R](letter-casing/r.md),\n  [Ruby](letter-casing/ruby.md)\n\n8. **Sorting with the UCA**\n\n  [Perl 5](sorting/perl5.md),\n  [PHP](sorting/php.md),\n  [Python](sorting/python.md),\n  [Ruby](sorting/ruby.md)\n\n## TODO\n\n* Unicode Character Database\n* Unicode regular expressions\n* CLDR\n\n## Style guide\n\nThe main goal is to have a cohesive style where examples in different languages\ncan easily be compared, as opposed to following the most popular styles for each\nlanguage.\n\n* document syntax: Markdown\n* code indentation: four spaces\n* naming convention: single-word lower-case names\n* string literals: preference for single quotes over double quotes\n\n---\n\n© 2013–2016 Nova Patch\n\n[![Creative Commons License](http://i.creativecommons.org/l/by/4.0/80x15.png)](http://creativecommons.org/licenses/by/4.0/)\n\nThis work is licensed under a\n[Creative Commons Attribution 4.0 International License](http://creativecommons.org/licenses/by/4.0/).\n\nUnicode is a registered trademark of Unicode, Inc., in the United States and\nother countries.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatch%2Funicode-programming","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpatch%2Funicode-programming","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatch%2Funicode-programming/lists"}