{"id":20032220,"url":"https://github.com/weakish/z85rb","last_synced_at":"2025-08-03T23:09:28.414Z","repository":{"id":56899239,"uuid":"76262403","full_name":"weakish/z85rb","owner":"weakish","description":"z85rb - pure Ruby implementation of Z85 encoding","archived":false,"fork":false,"pushed_at":"2017-09-09T23:35:46.000Z","size":6,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-10T15:53:50.325Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://rubygems.org/gems/z85rb","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/weakish.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":"2016-12-12T14:11:36.000Z","updated_at":"2018-11-21T12:17:28.000Z","dependencies_parsed_at":"2022-08-21T01:50:27.743Z","dependency_job_id":null,"html_url":"https://github.com/weakish/z85rb","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/weakish/z85rb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weakish%2Fz85rb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weakish%2Fz85rb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weakish%2Fz85rb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weakish%2Fz85rb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weakish","download_url":"https://codeload.github.com/weakish/z85rb/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weakish%2Fz85rb/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268625009,"owners_count":24280188,"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","status":"online","status_checked_at":"2025-08-03T02:00:12.545Z","response_time":2577,"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-13T09:36:20.529Z","updated_at":"2025-08-03T23:09:28.381Z","avatar_url":"https://github.com/weakish.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"z85rb - pure Ruby implementation of Z85 encoding\n================================================\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n    gem 'z85rb'\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install z85rb\n\n## Usage\n\n```rb\nrequire 'z85rb'\nZ85rb.encode(\"\\x86\\x4f\\xd2\\x6f\\xb5\\x59\\xf7\\x5b\") # =\u003e 'HelloWorld'\nZ85rb.decode('nm=QNzY\u0026b1A+]nf') # =\u003e 'Hello World!'\n```\n\nEncoding data not padded to a multiple of 4 will raise `ArgumentError`.\n\n## Difference to reference implementation in C:\n\nWhen input binary form in encoding is not bounded to 4 bytes, or input string\nframe in decoding is not bounded to 5 bytes, the [reference implementation][c]\nreturns `NULL`.\n\nInstead of returning `nil`, we raise an `ArgumentError`.\n\nRaising an exception conforms the [specification][rfc]. We guess that the reference\nimplementation returns `NULL` is because C does not have native support for\nexceptions.\n\n## Difference to z85 C extension for ruby\n\nThis gem is a drop-in replace for [z85 C extension][z85].\nAPI is the same.\n\nThere is only one difference:\n\nWhen input is invalid (not bounded to 4 or 5 bytes),  this gem raises an\n`ArgumentError` while z85 C extension raises `RuntimeError`.\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\n## References\n\n- [Z85 - ZeroMQ Base-85 Encoding Algorithm][rfc]\n- [A reference implementation in C][c]\n\n[rfc]: http://rfc.zeromq.org/spec:32\n[c]: https://github.com/zeromq/rfc/blob/master/src/spec_32.c\n[z85]: https://github.com/fpesce/z85/\n\n## License\n\n0BSD\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweakish%2Fz85rb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweakish%2Fz85rb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweakish%2Fz85rb/lists"}