HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
SixArm
usv
Shell2022–2025
SixArm / usv

usv

Unicode Separated Values (USV) data markup for units, records, groups, files, streaming, and more.

22Distinct people
28Mentions
0Explicit recommenders
224GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Unicode Separated Values (USV) data markup for units, records, groups, files, streaming, and more.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year28 dated mentions

Observed mentions: 2022-05-04 17:41:25 UTC to 2025-09-11 05:55:42 UTC.

05101520252022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 25 mentions; 2 submissions, 23 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC211
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC000
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC25223
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101

What Hacker News says

28 sources
Some notes from when the USV project tried using control characters: > We tried using the control characters, and also tried configuring various editors to show the control characters by rendering the control picture characters. > First, we encountered many difficulties with editor configurations, attempting to make each editor treat the invisible zero-width characters by rendering with the visible letter-width characters. > Second, we encountered problems with copy/paste functionality, where it often didn't work because the editor implementations and terminal implementations copied visible letter-width characters, not the underlying invisible zero-width characters. > Third, users were unable to distinguish between the rendered control picture characters (e.g. the editor saw ASCII 31 and rendered Unicode Unit Separator) versus the control
Read the rest
picture characters being in the data content (e.g. someone actually typed Unicode Unit Separator into the data content). https://github.com/SixArm/usv/tree/main/doc/faq#why-use-cont...
In ASCII Delimited Text – Not CSV or Tab Delimited Text
I’m working on a PWA which includes a dictionary search[1] feature and only a static web server (so no server side database to optimize the search). I did want searching to work in offline mode anyway. I decided it was best to generate an index file which the users download on first visit. For some reason I found USV[2] to be the best fit for this. USV I think allows seperating with ASCII control characters, but I used the unicode variants (␟, ␞, and ␝). I really liked this as it allowed me to add the glossary as an array in one of the columns. I wrote the parser my self which searches through the text structure, and it was simple enough. The reason I opted not to use a CSV or a TSV was that I didn’t want to deal with escaping surprise commas or tabs I would find in the dictionary data plus the extra dimension was nice. Since the file is
Read the rest
generated, I didn’t have to type the characters my self so it had none of the downsides of this format honestly. 1: https://shodoku.app/dictionary 2: https://github.com/SixArm/usv
In ASCII Delimited Text – Not CSV or Tab Delimited Text
According to the USV project, these characters don't work out so well in practice. > We tried using the control characters, and also tried configuring various editors to show the control characters by rendering the control picture characters. > First, we encountered many difficulties with editor configurations, attempting to make each editor treat the invisible zero-width characters by rendering with the visible letter-width characters. > Second, we encountered problems with copy/paste functionality, where it often didn't work because the editor implementations and terminal implementations copied visible letter-width characters, not the underlying invisible zero-width characters. >Third, users were unable to distinguish between the rendered control picture characters (e.g. the editor saw ASCII 31 and rendered Unicode Unit Separator) versu
Read the rest
s the control picture characters being in the data content (e.g. someone actually typed Unicode Unit Separator into the data content). https://github.com/SixArm/usv/tree/main/doc/faq#why-use-cont...
In How to fix CSV: make it even more U+1F4A9 PILE OF POO
Wouldn't this easily break your file in subtle ways when someone tries to edit it in their editor and the zero width character is not visible? How could you make the difference with a standard CSV file if it looks like a standard CSV file? They explain why they don't use control characters. Editors are not consistent in how they show control/zero-length characters: https://github.com/SixArm/usv/tree/main/doc/faq#why-use-cont...
In Show HN: Comma Separated Values (CSV) to Unicode Separated Values (USV)
Because they're zero-width. If you can't see them when you print your data, it's a machine-only separator, which makes it a bad separator for data that humans need to look at and work with. (Because CSV is a terrible data exchange format in terms of information per byte. But that makes sense, because it's an intentionally human readable data exchange format, not a machine format) Hence https://github.com/SixArm/usv/tree/main/doc/faq#why-choose-u...
In Show HN: Comma Separated Values (CSV) to Unicode Separated Values (USV)

Showing the 15 most recent of 28 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.