From 0fa6d7ab14eb65d11180432949387ee6f44e517a Mon Sep 17 00:00:00 2001
From: Jukoo <34043000+Jukoo@users.noreply.github.com>
Date: Sun, 8 Mar 2026 20:48:40 +0000
Subject: [PATCH 1/4] Revise README for better clarity and organization
Updated README.md to improve clarity and structure, including project goals, features, and usage examples.
---
README.md | 133 ++++++++++++++++++++++++++++++++++--------------------
1 file changed, 83 insertions(+), 50 deletions(-)
diff --git a/README.md b/README.md
index e7c226a..865604d 100644
--- a/README.md
+++ b/README.md
@@ -4,50 +4,78 @@
-#### Apropos du Base Converter
+# BaseConv (bcv)
-**bcv** (*Base Converter*) est un outil en ligne de commande simple, rapide et libre, conçu pour convertir des nombres entre différentes bases numériques : **binaire**, **octale**, **décimale** et **hexadécimale**.
+**bcv** (*Base Converter*) est un outil en ligne de commande simple, rapide et libre,
+conçu pour convertir des nombres entre différentes bases numériques :
-> Développé par **KerHack-Libre**, dans un esprit **éducatif et pratique**, pour aider chacun à acquérir une **base solide en numérisation informatique** — la fondation de tout système logiciel.
+- Binaire (2)
+- Octale (8)
+- Décimale (10)
+- Hexadécimale (16)
+
+> Développé par **KerHack-Libre**, dans un esprit **éducatif, local et pratique**,
+> pour aider chacun à acquérir une **base solide en numérisation informatique**.
---
-##### Objectif du projet
+## 🎯 Objectif du projet
-Ce projet est né d’un besoin simple mais fondamental :
-**comprendre, manipuler et visualiser les bases numériques** qui sont au cœur de tout ce que fait un ordinateur.
+Bcv se veut d'etre leger et simpliste sans passer par d'outils lourds.
+qui permet de faire:
-> Une chose aussi basique peut ouvrir des portes incroyables sur la compréhension du fonctionnement interne des machines — et même aider à créer de meilleurs logiciels.
+- Inspecter et déboguer des signatures de fichiers binaires
+- Vérifier rapidement une valeur hexadécimale
+- Visualiser un décalage binaire (`<<`, `>>`)
+- Tester des expressions numériques shell
-**bcv** n’est pas qu’un convertisseur :
-c’est un petit compagnon du quotidien pour les développeurs, étudiants, hackers, ou passionnés de bas niveau.
-Je l’utilise moi-même chaque jour pour :
-- inspecter et déboguer des signature sur des fichiers **fichiers binaires**
-- ou simplement vérifier rapidement une conversion en **binaire / hex / octal** sans lancer d’outil lourd.
+#### Dimension éducative
----
+Comprendre les bases numériques, c’est comprendre la langue native des ordinateurs.
-##### Dimension éducative
+**bcv** a été conçu :
-Comprendre les bases numériques, c’est comprendre la langue native des ordinateurs.
+- Pour initier aux fondements du système de numérisation
+- Pour visualiser concrètement les représentations numériques
+- Pour renforcer les compétences bas niveau
+- Pour établir une base solide de compétences à l’ère numérique
-**bcv** a été conçu dans un but éducatif:
+#### Fonctionnalités
-pour initier les étudiants et curieux aux bases du système de numérisation informatique ;
+- [x] Conversion instantanée entre bases 2, 8, 10, 16
+- [x] Détection automatique des préfixes (`0b`, `0o`, `0x`)
+- [x] Affichage des caractères ASCII imprimables (32 → 127)
+- [x] Support des expressions shell :
+```bash
+bcv $((10 << 2))
+```
-pour permettre aux développeurs de visualiser concrètement ce qui se cache derrière les chiffres et les octets ;
+- [x] Support des caractères entre guillemets :
+```bash
+bcv "#"
+```
-et pour montrer que même un petit outil simple peut être une porte d’entrée vers la programmation système et la conception logicielle.
+- [x] Mode interactif amélioré
+- [x] Sortie claire et structurée
+- [x] Compact, rapide et sans dépendance externe
-##### Fonctionnalités
+#### TODO
+- [ ] Different Format de sortie :
+ - [ ] JSON
+ - [ ] Yaml
+ - [ ] XML
+
+#### Architecture & Intégration
-- Conversion instantanée entre **bases 2, 8, 10 et 16**
-- **Shell interactif** intégré (`b/`, `o/`, `x/` ou `exit`)
-- **Détection automatique** du format d’entrée (`0b`, `0o`, `0x`)
-- ⚙️ **Compact**, **rapide** et **sans dépendance**
-- Parfait pour l’apprentissage, le scripting et le débogage
-- Compatible **Unix/Linux**, compilable avec **GCC**
----
+bcv repose sur une librairie C locale, développée sans dépendance externe.
+
+Elle permet :
+- Une intégration directe dans d'autres programmes
+- Une architecture modulaire
+- Une autonomie technologique totale
+
+Ce n’est pas seulement un outil CLI,
+c’est aussi un composant réutilisable.
##### Installation
@@ -78,24 +106,7 @@ bcv [OPTION]
```
-#### Mode Interactive
-
-Lancer simplement
-```bash
-bcv
-```
-Puis entrer les commandes :
-
-```bash
-b/42 → convertit en binaire
-x/255 → convertit en hexadécimal
-o/77 → convertit en octal
-exit → quitte le shell
-```
-
-#### mode Rapide
-
-#### Exemples
+###### Mode direct ou rapide
```bash
$ bcv 12
@@ -109,12 +120,34 @@ DEC : 65261
OCT : 0o177355
BIN : 0b1111111011101101
-$ bcv E
-DEC : 69
-HEX : 0x45
-OCT : 0o105
-BIN : 0b1000101
+$ bcv 33
+
+DEC: 33
+HEX: 0x21
+OCT: 041
+BIN: 0b100001
+CHR: !
+```
+###### Expression shell
+> bcv $((1 << 2))
+
+###### Caractère ASCII
+> bcv "U"
+
+#### Mode Interactive
+
+Lancer simplement
+```bash
+bcv
+```
+Puis entrer les commandes :
+
+```bash
+b/42 → convertit en binaire
+x/255 → convertit en hexadécimal
+o/77 → convertit en octal
+exit → quitte le shell
```
Une Page de manuel est incluse
From fc7d64f7969123acdae9bc9e7b7024b5abdcf135 Mon Sep 17 00:00:00 2001
From: jukoo
Date: Sun, 8 Mar 2026 20:49:09 +0000
Subject: [PATCH 2/4] update fr version manpage
---
doc/manpage/{ => en}/bcv.1 | 0
doc/manpage/{bcv.fr.1 => fr/bcv.1} | 136 +++++++++++++++++++++++++++--
2 files changed, 128 insertions(+), 8 deletions(-)
rename doc/manpage/{ => en}/bcv.1 (100%)
rename doc/manpage/{bcv.fr.1 => fr/bcv.1} (52%)
diff --git a/doc/manpage/bcv.1 b/doc/manpage/en/bcv.1
similarity index 100%
rename from doc/manpage/bcv.1
rename to doc/manpage/en/bcv.1
diff --git a/doc/manpage/bcv.fr.1 b/doc/manpage/fr/bcv.1
similarity index 52%
rename from doc/manpage/bcv.fr.1
rename to doc/manpage/fr/bcv.1
index 9aa4124..9b9c404 100644
--- a/doc/manpage/bcv.fr.1
+++ b/doc/manpage/fr/bcv.1
@@ -21,6 +21,60 @@ Représentation octale (chiffres 0–7)
.TP
\fBBase 16\fR
Représentation hexadécimale (chiffres 0–15, c’est-à-dire 0–f)
+
+.SH FONCTIONNALITÉS
+.TP
+Conversion multi-bases
+Affiche les représentations DEC, HEX, OCT et BIN.
+
+.TP
+Détection automatique
+Reconnaît automatiquement les préfixes :
+0b (binaire), 0x (hexadécimal), 0o (octal).
+
+.TP
+Affichage ASCII
+Si la valeur convertie est comprise entre 32 et 127,
+le caractère ASCII imprimable correspondant est affiché (CHR).
+
+.TP
+Support des expressions shell
+Compatible avec les expressions arithmétiques shell :
+
+ bcv $((10 << 2))
+
+.TP
+Support des caractères
+Les caractères doivent être fournis entre guillemets :
+
+ bcv "#"
+
+.TP
+Mode interactif amélioré
+Invite numérotée, support des conversions directes,
+détection automatique du type d’entrée.
+
+.SH OPTIONS
+.TP
+.B \-b
+Conversion explicite en binaire.
+
+.TP
+.B \-o
+Conversion explicite en octal.
+
+.TP
+.B \-x
+Conversion explicite en hexadécimal.
+
+.TP
+.B \-v
+Affiche la version du programme.
+
+.TP
+.B \-h
+Affiche l’aide.
+
.SH UTILISATION
.nf
Utilisation : bcv [OPTION] ...
@@ -29,10 +83,11 @@ Convertir un nombre vers une base spécifique.
Ligne directe | Mode interactif | Description
---------------|----------------|----------------------------+
--b | b/ | Conversion en binaire |
--x | x/ | Conversion en hexadécimal |
--o | o/ | Conversion en octal |
- | exit ou quit | Quitter le mode interactif |
+-b | b/ | Conversion en binaire |
+-x | x/ | Conversion en hexadécimal |
+-o | o/ | Conversion en octal |
+-c | | Code ascii |
+ | exit ou quit | Quitter le mode interactif |
-------------------------------------------------------------+
-v, 'v' ou '!' Affiche la version du programme
-h, 'h' ou '?' Affiche cette aide
@@ -48,8 +103,60 @@ o/ → convertir en octal
x/ → convertir en hexadécimal
.br
exit ou quit → quitter le shell interactif
-.RE
+
+\fBSi lancé sans argument\fR:
+
+ $ bcv
+
+Exemple :
+
+ [1] bcv > 0x12
+ DEC: 18
+
+ [2] bcv > U
+ DEC: 85
+ HEX: 0x55
+ OCT: 0125
+ BIN: 0b1010101
+ CHR: U
+
+Commandes disponibles :
+
+ b/ → binaire
+ o/ → octal
+ x/ → hexadécimal
+ exit → quitter
+ quit → quitter
+
+.SH SORTIE
+La sortie standard affiche :
+
+ DEC - représentation décimale
+ HEX - représentation hexadécimale
+ OCT - représentation octale
+ BIN - représentation binaire
+ CHR - caractère ASCII imprimable (si applicable)
+
.SH EXEMPLES
+.TP
+Conversion simple :
+ bcv 33
+
+.TP
+Expression shell :
+ bcv $((1<<2))
+
+.TP
+Caractère ASCII :
+ bcv "A"
+
+.TP
+Détection automatique :
+ bcv 0xFEED
+
+
+.RE
+.SH EXEMPLES D'UTILISATION
Voici quelques exemples d’utilisation de \fBbcv\fR :
.TP
Convertir 255 en hexadécimal :
@@ -115,12 +222,21 @@ DEC : 19
HEX : 0x13
OCT : 0o23
.fi
-.RE
+.RE
+
+.SH INTÉGRATION
+bcv repose sur une librairie C locale,
+sans dépendance externe.
+
+Elle peut être intégrée dans d’autres projets logiciels
+afin d’effectuer des conversions de bases
+directement depuis du code C.
+
.SH VERSION
BaseConverter (bcv) version 1.0.1
par KerHack-Libre
.SH AUTEUR
-Umar Ba
+Umar Ba
.br
.SH COPYRIGHT
@@ -128,5 +244,9 @@ Copyright (c) 2025 KerHack-Libre
.br
Ce logiciel est libre et distribué SANS AUCUNE GARANTIE.
.SH VOIR AUSSI
-\fBbc\fR(1)
+\fBbc\fR(1)
+.SH VOIR AUSSI
+.BR bc (1),
+.BR xxd (1),
+.BR hexdump (1)
From 85bf3e1f0f4b40dd10cae5edf442a97054a6e9ad Mon Sep 17 00:00:00 2001
From: jukoo
Date: Sun, 8 Mar 2026 20:57:59 +0000
Subject: [PATCH 3/4] move base 10 numerical identifier to hex representation
for readability
---
src/baseconv.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/baseconv.c b/src/baseconv.c
index 3753e4d..918d48f 100644
--- a/src/baseconv.c
+++ b/src/baseconv.c
@@ -10,7 +10,7 @@
char bc_global_buffer[0xff]={0} ;
-uf64_t __allbase_enable__ = (BIN|CHR|OCT|HEX|429496729600);
+uf64_t __allbase_enable__ = (BIN|CHR|OCT|HEX|0x6400000000);
char * bc_hex( uf64_t value)
{
@@ -130,7 +130,7 @@ uf64_t __bcv_guess_base(const char * restrict num , void (*base_printer)(uf64_t)
break;
default :
//! decimal
- options&=~429496729600 ;
+ options&=~0x6400000000 ;
value = strtol(num, (void*)0 , 10) ;
goto _end;
}
From 8dd53e68e8b2c1ebfc8db123f9d250407c557690 Mon Sep 17 00:00:00 2001
From: jukoo
Date: Sun, 8 Mar 2026 21:01:16 +0000
Subject: [PATCH 4/4] bump version
---
doc/manpage/fr/bcv.1 | 4 ++--
meson.build | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/doc/manpage/fr/bcv.1 b/doc/manpage/fr/bcv.1
index 9b9c404..d3315fd 100644
--- a/doc/manpage/fr/bcv.1
+++ b/doc/manpage/fr/bcv.1
@@ -1,4 +1,4 @@
-.TH BCV 1 "Octobre 2025" "Version 1.0.1" "Commandes Utilisateur"
+.TH BCV 1 "Octobre 2025" "Version 1.2.5" "Commandes Utilisateur"
.SH NOM
bcv \- convertir des nombres en représentation binaire, octale ou hexadécimale
.SH SYNOPSIS
@@ -233,7 +233,7 @@ afin d’effectuer des conversions de bases
directement depuis du code C.
.SH VERSION
-BaseConverter (bcv) version 1.0.1
+BaseConverter (bcv) version 1.2.5
par KerHack-Libre
.SH AUTEUR
Umar Ba
diff --git a/meson.build b/meson.build
index bde372a..85bd964 100644
--- a/meson.build
+++ b/meson.build
@@ -44,7 +44,7 @@ bcv_sources=[
'src/bcvrepl.c' # Contain the repl shell
]
-install_man(['doc/manpage/bcv.1'])
+install_man(['doc/manpage/fr/bcv.1'])
#
#NOTICE : The logic of baseconv is builded as External Shared and static library
# to make it more extensible