rev: multibyte characters are reversed byte by byte in UTF-8 locales

Ouverte
#656 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@SichenLiang y travaille déjà.

Depuis le 6/10/2026.

  • #657 par @SichenLiang — ouverte

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
65/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
rust
Domaine
cli

Piste de recherche

Start by locating the rev command implementation and its tests, then run the UTF-8 reproduction from the issue with LC_ALL=C.UTF-8. Compare its output with the stated util-linux behavior, including the combining mark. Done means reversing Unicode code points rather than the bytes within multibyte characters.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

uutils rev reverses each line byte by byte even in a UTF-8 locale. This reverses the bytes inside every multibyte character and produces invalid UTF-8. util-linux 2.42.4 reverses the order of code points instead.

Set UTIL_LINUX_REV to the absolute path to the rev binary from util-linux 2.42.4.

printf 'aé中🙂b\ne\314\201x\n' | LC_ALL=C.UTF-8 "$UTIL_LINUX_REV"

util-linux prints b🙂中éa, followed by x, U+0301, and e. uutils reverses the bytes inside é, 中, 🙂, and the combining mark.

Langage dominant
Rust
Étoiles
226
Forks
62
Merge moyen
12 h 48 min
PR mergées (30 j)
25

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de uutils/util-linux

Toutes les issues de uutils/util-linux

Issues similaires

Plus d'issues Rust

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.