{"id":17402795,"url":"https://github.com/thlorenz/6bit-encoder","last_synced_at":"2025-03-29T20:14:27.510Z","repository":{"id":57093182,"uuid":"111440079","full_name":"thlorenz/6bit-encoder","owner":"thlorenz","description":"Encodes 6bit numbers (0..63) to URL safe chars.","archived":false,"fork":false,"pushed_at":"2017-11-23T11:20:45.000Z","size":1184,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-08T08:47:42.941Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://thlorenz.github.io/6bit-encoder","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thlorenz.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":"2017-11-20T17:13:28.000Z","updated_at":"2019-04-06T05:16:40.000Z","dependencies_parsed_at":"2022-08-22T21:31:32.091Z","dependency_job_id":null,"html_url":"https://github.com/thlorenz/6bit-encoder","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thlorenz%2F6bit-encoder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thlorenz%2F6bit-encoder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thlorenz%2F6bit-encoder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thlorenz%2F6bit-encoder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thlorenz","download_url":"https://codeload.github.com/thlorenz/6bit-encoder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246237436,"owners_count":20745348,"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":[],"created_at":"2024-10-16T18:26:10.656Z","updated_at":"2025-03-29T20:14:27.491Z","avatar_url":"https://github.com/thlorenz.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 6bit-encoder [![build status](https://secure.travis-ci.org/thlorenz/6bit-encoder.svg?branch=master)](http://travis-ci.org/thlorenz/6bit-encoder)\n\nEncodes 6bit numbers (0..63) to URL safe chars.\n\n```js\nconst assert = require('assert')\nconst { encode, encode5, decode, decode5 } = require('6bit-encoder')\n\nassert.equal(encode(0b001111), 'F')\nassert.equal(encode5(0b011111011111011111011111011111), 'VVVVV')\nassert.equal(decode('F'), 0b001111)\nassert.equal(decode5('VVVVV'), 0b011111011111011111011111011111)\n```\n\n## Installation\n\n    npm install 6bit-encoder\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n**Table of Contents**  *generated with [DocToc](https://github.com/thlorenz/doctoc)*\n\n-   [API](#api)\n    -   [SEPARATOR](#separator)\n    -   [decode](#decode)\n    -   [decode2](#decode2)\n    -   [decode3](#decode3)\n    -   [decode4](#decode4)\n    -   [decode5](#decode5)\n    -   [encode](#encode)\n    -   [encode2](#encode2)\n    -   [encode3](#encode3)\n    -   [encode4](#encode4)\n    -   [encode5](#encode5)\n    -   [decodeFor](#decodefor)\n    -   [encodeFor](#encodefor)\n-   [License](#license)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n## [API](https://thlorenz.github.io/6bit-encoder)\n\n\u003c!-- Generated by documentation.js. Update this documentation by updating the source code. --\u003e\n\n### SEPARATOR\n\nA URL safe char that is not part of the encoding table and\ncan be used as a separator: `'*'`\n\nType: [String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)\n\n### SEPARATORS\n\nRemaining URL safe chars that are not part of the encoding table and\ncan be used as a separator: `; , . ~ ( ' ) ! * : @`\n\nType: [Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)\u0026lt;[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)\u003e\n\n### decode\n\nDecodes one char into a 6 bit number\n\n**Parameters**\n\n-   `s` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** the char to decode\n\nReturns **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** a 6 bit number\n\n### decode2\n\nDecodes two chars into a 12 bit number\n\n**Parameters**\n\n-   `s` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** the chars to decode\n\nReturns **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** a 12 bit number\n\n### decode3\n\nDecodes three chars into an 18 bit number\n\n**Parameters**\n\n-   `s` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** the chars to decode\n\nReturns **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** an 18 bit number\n\n### decode4\n\nDecodes four chars into an 24 bit number\n\n**Parameters**\n\n-   `s` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** the chars to decode\n\nReturns **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** a 24 bit number\n\n### decode5\n\nDecodes five chars into an 30 bit number\n\n**Parameters**\n\n-   `s` **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** the chars to decode\n\nReturns **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** a 30 bit number\n\n### encode\n\nEncodes a 6 bit number into a URL safe char\n\n**Parameters**\n\n-   `n` **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** a 6 bit number\n\nReturns **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** the char\n\n### encode2\n\nEncodes a 12 bit number into two URL safe chars\n\n**Parameters**\n\n-   `n` **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** a 12 bit number\n\nReturns **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** the chars\n\n### encode3\n\nEncodes a 18 bit number into three URL safe chars\n\n**Parameters**\n\n-   `n` **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** a 18 bit number\n\nReturns **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** the chars\n\n### encode4\n\nEncodes a 24 bit number into four URL safe chars\n\n**Parameters**\n\n-   `n` **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** a 24 bit number\n\nReturns **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** the chars\n\n### encode5\n\nEncodes a 30 bit number into five URL safe chars\n\n**Parameters**\n\n-   `n` **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** a 30 bit number\n\nReturns **[String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String)** the chars\n\n### decodeFor\n\nGet a decode function to decode n chars\n\n**Parameters**\n\n-   `n` **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** the number of chars to decode\n\nReturns **[function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function)** the matching decoding function\n\n### encodeFor\n\nGet an encode function to encode an `n * 6` bit number\n\n**Parameters**\n\n-   `n` **[Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number)** number of 6 bits to encode\n\nReturns **[function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function)** the matching encoding function\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthlorenz%2F6bit-encoder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthlorenz%2F6bit-encoder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthlorenz%2F6bit-encoder/lists"}