chardet
shortuuid
Our great sponsors
chardet | shortuuid | |
---|---|---|
8 | 5 | |
2,071 | 1,975 | |
1.2% | - | |
2.9 | 0.8 | |
6 months ago | about 1 year ago | |
Python | Python | |
GNU Lesser General Public License v3.0 only | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
chardet
- After almost a year, Ben Eater is back
-
3 Ways to Handle non UTF-8 Characters in Pandas
chardet is a library for decoding characters, once installed you can use the following to determine encoding:
-
In MySQL, never use “utf8”. Use “utf8mb4”
The craziest issue I had was I couldn't predict what char encoding the text in my database was in. Most users entered Windows-1252, some text blobs were UTF-16, others were European character sets, and some were UTF-8. Some were Japanese SHIFT_JIS. Don't ask me how any of this happened. I retrospect, I should have dumped all the tables from MySQL and used the excellent PyPy Chardet [1] library to see what I was dealing with, do the conversions and then re-import the data. But then someone could copy UTF-16 from a Windows document and paste it in, so you have to convert going in to the database.
You have set Apache to UTF-8, PHP to UTF-8, MySQL to UTF-8, and the MySQL driver you are using to UTF-8. It's not clear how these setting interact. Are there silent conversions happening or do you always have to detect the encoding on data coming from the server? HTML pages have a character encoding specifier, but the BOM at the start of the file takes precedence (I think.) I got it to work by always detecting encoding for any text coming from the database and using iconv, but this turned out to be really slow and unreliable. It was truly the biggest mess by an order of magnitude than any other programming problem I faced in my career.
Would not attempt again.
-
Encoding detection
I found there is a https://github.com/chardet/chardet python library, which can be ported to Common Lisp.
-
How to convert cmd output to UTF-8
Then use chardet to determine the encoding from the content
-
Everything to know about Requests v2.26.0
The library that Requests uses for content encoding detection has for the past 10 years been chardet which is licensed LGPL-2.1.
- PyWhat: Identify Anything
- UTF-8 is not enough? Requesting help with an open source project!
shortuuid
-
Ask HN: Could you show your personal blog here?
Unlike many people here, I don't like to write hundreds of mediocre posts. Instead, I prefer very few posts, that unfortunately are still mediocre.
If you're tired of all the perfection that exists on the internet, where every piece is deeply insightful and changes your life, I'd encourage you to read my articles, which only promise to shorten it:
-
Short, friendly base32 slugs from timestamps
I use shortuuid[0] for that stuff, which also omits the capital letter I, and has some other niceties (I wrote the library). It works really well, and I like how small the IDs are.
- Ask HN: What are your favorite personal sites?
-
Building a Micro Business: What Services I Pay For
skorokithakis: developer of django-annoying and shortuuid
- GUIDs Are Not the Only Answer
What are some alternatives?
Charset Normalizer - Truly universal encoding detector in pure Python
pangu.py - Paranoid text spacing in Python
fuzzywuzzy - Fuzzy String Matching in Python
ftfy - Fixes mojibake and other glitches in Unicode text, after the fact.
Levenshtein - The Levenshtein Python C extension module contains functions for fast computation of Levenshtein distance and string similarity
uniout - Never see escaped bytes in output.
pyfiglet - An implementation of figlet written in Python
json-streamer - A fast streaming JSON parser for Python that generates SAX-like events using yajl