# La commande pour vérifier le codage du fichier texte (ISO-2022-JP, Shift_JIS, EUC-JP, UTF-8 ou UTF-16) sous Linux est nkf --guess (oubliez à chaque fois)

$ nkf --guess tmp/abc.txt
Shift_JIS

Qu'est-ce que la commande nkf?

J'ai l'impression que c'est une commande japonaise, mais est-ce à cause de cela? C'est probablement à cause de mon esprit.

image

[Nkf] Commande-Convertir le code de caractère et le code de saut de ligne: Conseils de commande de base Linux (51) - @ IT https://www.atmarkit.co.jp/ait/articles/1609/29/news016.html

Désagréable...

Au fait, c'était une commande avec ce sens ...

nkf - Network Kanji Filter https://linux.die.net/man/1/nkf

Nkf is a yet another kanji code converter among networks, hosts and terminals. It converts input kanji code to designated kanji code such as ISO-2022-JP , Shift_JIS, EUC-JP , UTF-8 or UTF-16 .

image

Relation

Quand je commence à enquêter, je vais à nouveau entrer dans la forêt profonde de l'encodage ...

NKF.guess est vieux. Méthode d'inférence de jeu de codes (encodage) à l'ère de l'internationalisation - Htenadiary https://ksmakoto.hatenadiary.com/entry/2017/10/23/223230

man

$ man nkf | cat
nkf(1)                                                                  nkf(1)



NAME
       nkf - Network Kanji Filter

SYNOPSIS
       nkf [-butjnesliohrTVvwWJESZxXFfmMBOcdILg] [file ...]

DESCRIPTION
       Nkf is a yet another kanji code converter among networks, hosts and
       terminals.  It converts input kanji code to designated kanji code such
       as ISO-2022-JP, Shift_JIS, EUC-JP, UTF-8, UTF-16 or UTF-32.

       One of the most unique faculty of nkf is the guess of the input kanji
       encodings.  It currently recognizes ISO-2022-JP, Shift_JIS, EUC-JP,
       UTF-8, UTF-16 and UTF-32.  So users needn't set the input kanji code
       explicitly.

       By default, X0201 kana is converted into X0208 kana.  For X0201 kana,
       SO/SI, SSO and ESC-(-I methods are supported.  For automatic code
       detection, nkf assumes no X0201 kana in Shift_JIS.  To accept X0201 in
       Shift_JIS, use -X, -x or -S.

       multiple options are specifed as seprate strings, such as

         print nkf('--ic=UTF8-MAC', '-w', $string), "\n";

       except the last arguments.

OPTIONS
       -J -S -E -W -W16 -W32 -j -s -e -w -w16 -w32
           Specify input and output encodings. Upper case is input.  cf. --ic
           and --oc.

           -J  ISO-2022-JP (JIS code).

           -S  Shift_JIS and JIS X 0201 kana.  EUC-JP is recognized as X0201
               kana. Without -x flag, JIS X 0201 Katakana (a.k.a.halfwidth
               kana) is converted into JIS X 0208.  If you use Windows, see
               Windows-31J (CP932).

           -E  EUC-JP.

           -W  UTF-8N.

           -W16[BL][0]
               UTF-16.  B or L gives whether Big Endian or Little Endian.  0
               gives whther put BOM or not.

           -W32[BL][0]
               UTF-32.  B or L gives whether Big Endian or Little Endian.  0
               gives whther put BOM or not.

       -b -u
           Output is buffered (DEFAULT), Output is unbuffered.

       -t  No conversion.

       -i[@B]
           Specify the escape sequence for JIS X 0208.

           -i@ Use ESC ( @. (JIS X 0208-1978)

           -iB Use ESC ( B. (JIS X 0208-1983/1990 DEFAULT)

       -o[BJ]
           Specify the escape sequence for US-ASCII/JIS X 0201 Roman. (DEFAULT
           B)

       -r  {de/en}crypt ROT13/47

       -h[123] --hiragana --katakana --katakana-hiragana
           -h1 --hiragana
               Katakana to Hiragana conversion.

           -h2 --katakana
               Hiragana to Katakana conversion.

           -h3 --katakana-hiragana
               Katakana to Hiragana and Hiragana to Katakana conversion.

       -T  Text mode output (MS-DOS)

       -f[m [- n]]
           Folding on m length with n margin in a line.  Without this option,
           fold length is 60 and fold margin is 10.

       -F  New line preserving line folding.

       -Z[0-3]
           Convert X0208 alphabet (Fullwidth Alphabets) to ASCII.

           -Z -Z0
               Convert X0208 alphabet to ASCII.

           -Z1 Convert X0208 kankaku to single ASCII space.

           -Z2 Convert X0208 kankaku to double ASCII spaces.

           -Z3 Replacing fullwidth >, <, ", & into '&gt;', '&lt;', '&quot;',
               '&amp;' as in HTML.

       -X -x
           With -X or without this option, X0201 is converted into X0208 Kana.
           With -x, try to preserve X0208 kana and do not convert X0201 kana
           to X0208.  In JIS output, ESC-(-I is used. In EUC output, SS2 is
           used.

       -B[0-2]
           Assume broken JIS-Kanji input, which lost ESC.  Useful when your
           site is using old B-News Nihongo patch.

           -B1 allows any chars after ESC-( or ESC-$.

           -B2 force ASCII after NL.

       -I  Replacing non iso-2022-jp char into a geta character (substitute
           character in Japanese).

       -m[BQN0]
           MIME ISO-2022-JP/ISO8859-1 decode. (DEFAULT) To see ISO8859-1
           (Latin-1) -l is necessary.

           -mB Decode MIME base64 encoded stream. Remove header or other part
               before conversion.

           -mQ Decode MIME quoted stream. '_' in quoted stream is converted to
               space.

           -mN Non-strict decoding.  It allows line break in the middle of the
               base64 encoding.

           -m0 No MIME decode.

       -M  MIME encode. Header style. All ASCII code and control characters
           are intact.

           -MB MIME encode Base64 stream.  Kanji conversion is performed
               before encoding, so this cannot be used as a picture encoder.

           -MQ Perform quoted encoding.

       -l  Input and output code is ISO8859-1 (Latin-1) and ISO-2022-JP.  -s,
           -e and -x are not compatible with this option.

       -L[uwm] -d -c
           Convert line breaks.

           -Lu -d
               unix (LF)

           -Lw -c
               windows (CRLF)

           -Lm mac (CR)

               Without this option, nkf doesn't convert line breaks.

       --fj --unix --mac --msdos --windows
           Convert for these systems.

       --jis --euc --sjis --mime --base64
           Convert to named code.

       --jis-input --euc-input --sjis-input --mime-input --base64-input
           Assume input system

       --ic=input codeset --oc=output codeset
           Set the input or output codeset.  NKF supports following codesets
           and those codeset names are case insensitive.

           ISO-2022-JP
               a.k.a. RFC1468, 7bit JIS, JUNET

           EUC-JP (eucJP-nkf)
               a.k.a. AT&T JIS, Japanese EUC, UJIS

           eucJP-ascii
           eucJP-ms
           CP51932
               Microsoft Version of EUC-JP.

           Shift_JIS
               a.k.a. SJIS, MS_Kanji

           Windows-31J
               a.k.a. CP932

           UTF-8
               same as UTF-8N

           UTF-8N
               UTF-8 without BOM

           UTF-8-BOM
               UTF-8 with BOM

           UTF8-MAC (input only)
               decomposed UTF-8

           UTF-16
               same as UTF-16BE

           UTF-16BE
               UTF-16 Big Endian without BOM

           UTF-16BE-BOM
               UTF-16 Big Endian with BOM

           UTF-16LE
               UTF-16 Little Endian without BOM

           UTF-16LE-BOM
               UTF-16 Little Endian with BOM

           UTF-32
               same as UTF-32BE

           UTF-32BE
               UTF-32 Big Endian without BOM

           UTF-32BE-BOM
               UTF-32 Big Endian with BOM

           UTF-32LE
               UTF-32 Little Endian without BOM

           UTF-32LE-BOM
               UTF-32 Little Endian with BOM

       --fb-{skip, html, xml, perl, java, subchar}
           Specify the way that nkf handles unassigned characters.  Without
           this option, --fb-skip is assumed.

       --prefix=escape charactertarget character..
           When nkf converts to Shift_JIS, nkf adds a specified escape
           character to specified 2nd byte of Shift_JIS characters.  1st byte
           of argument is the escape character and following bytes are target
           characters.

       --no-cp932ext
           Handle the characters extended in CP932 as unassigned characters.

       --no-best-fit-chars
           When Unicode to Encoded byte conversion, don't convert characters
           which is not round trip safe.  When Unicode to Unicode conversion,
           with this and -x option, nkf can be used as UTF converter.  (In
           other words, without this and -x option, nkf doesn't save some
           characters)

           When nkf converts strings that related to path, you should use this
           opion.

       --cap-input
           Decode hex encoded characters.

       --url-input
           Unescape percent escaped characters.

       --numchar-input
           Decode character reference, such as "&#....;".

       --in-place[=SUFFIX]  --overwrite[=SUFFIX]
           Overwrite original listed files by filtered result.

           Note --overwrite preserves timestamps of original files.

       --guess=[12]
           Print guessed encoding and newline. (2 is default, 1 is only
           encoding)

       --help
           Print nkf's help.

       --version
           Print nkf's version.

       --  Ignore rest of -option.

AUTHOR
       Copyright (c) 1987, Fujitsu LTD. (Itaru ICHIKAWA).

       Copyright (c) 1996-2018, The nkf Project.



nkf 2.1.5                         2018-12-15                            nkf(1)

Original by Github issue

https://github.com/YumaInaura/YumaInaura/issues/2916

Recommended Posts

# La commande pour vérifier le codage du fichier texte (ISO-2022-JP, Shift_JIS, EUC-JP, UTF-8 ou UTF-16) sous Linux est nkf --guess (oubliez à chaque fois)
Sous Linux, l'horodatage d'un fichier est un peu dépassé.
Comment afficher une ligne spécifiée d'un fichier ou d'un résultat de commande sous Linux (sed, awk)
Comment afficher le résultat de sortie de la commande man Linux dans un fichier
Une commande pour vérifier facilement la vitesse du réseau sur la console
L'histoire de la sortie d'un outil de vérification de texte créé par Python sur GitHub x CircleCI pour la première fois
[Linux] Une commande pour obtenir une liste des commandes exécutées dans le passé
J'ai essayé de mesurer le temps d'attente de la file d'attente d'exécution d'un processus sous Linux
J'ai fait un programme pour vérifier la taille d'un fichier avec Python
J'ai créé un script pour vérifier si l'anglais est entré dans la position spécifiée du fichier JSON en Python.
Envoyez des notifications sur votre smartphone à partir de la ligne de commande ou du script Linux. (Introduction d'un outil appelé ntfy)
[VBA] Une fonction qui détermine si la chaîne de caractères du système de fichiers UTF-8 est de 255 ou moins et une fonction qui compte la chaîne de caractères de UTF-8 en octets.