Giter Club home page Giter Club logo

unicode-decode's Introduction

unicode-decode

Command-line tool to decode & explain unicode strings. This repository is not meant to be anything anyone should depend on, but is instead a useful to me tool I decided to write as a means of refreshing my knowledge of Rust (previous work was under Edition 2018!) and also to understand Unicode better. This is currently limited to analyzing UTF-8 input.

Install

Right now, clone the repo. Then run cargo run -- --help (assuming you have cargo etc installed).

Usage

Example:

โ˜ฐ ~ echo ๐Ÿ‘ฎ๐Ÿฝโ€โ™€๏ธ | ./target/debug/unicode-decode
+---------+------------+-----------------------------------+---------------+
| Display | Code Point | Name                              | UTF-8 Byte(s) |
+---------+------------+-----------------------------------+---------------+
| ๐Ÿ‘ฎ      |      1f46e | POLICE OFFICER                    |   f0 9f 91 ae |
+---------+------------+-----------------------------------+---------------+
| ๐Ÿฝ      |      1f3fd | EMOJI MODIFIER FITZPATRICK TYPE-4 |   f0 9f 8f bd |
+---------+------------+-----------------------------------+---------------+
|         |       200d | ZERO WIDTH JOINER                 |      e2 80 8d |
+---------+------------+-----------------------------------+---------------+
| โ™€       |       2640 | FEMALE SIGN                       |      e2 99 80 |
+---------+------------+-----------------------------------+---------------+
| ๏ธ        |       fe0f | VARIATION SELECTOR-16             |      ef b8 8f |
+---------+------------+-----------------------------------+---------------+
|         |       000a | LINE FEED (LF)                    |             a |
+---------+------------+-----------------------------------+---------------+
text analyzed: ๐Ÿ‘ฎ๐Ÿฝโ€โ™€๏ธ

Pass in a string as an argument:

unicode-decode "some interesting string"

If you don't pass in input by one of these mechanisms, the tool will wait for input followed by a newline:

unicode-decode<enter>
some interesting string

Options:

  • Positional arguments: string to process
  • -e / --encoding: the type of data (only allowed: utf8)
  • -h / --help: print help message

Features

  • Shows each Unicode code point and its name
  • Shows the byte(s) it is represented in utf-8

License

MIT

unicode-decode's People

Contributors

ludwick avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.