Paskutinį kartą atnaujinta: 21 Jan, 2025

Pavadinimas – Masinis failų koduotės keitimas į UTF-8: Konvertuokite failus į UTF-8 naudojant Python, Notepad++ ir komandų eilutę

Masinis failų koduotės konvertavimas į UTF-8 – Įvadas

Failų koduotės konvertavimas į UTF-8 yra būtinas, siekiant užtikrinti suderinamumą ir nuoseklumą įvairiose platformose. Dirbant su daugybe failų, rankinis kiekvieno konvertavimas gali būti varginantis. Šiame vadove parodysime, kaip efektyviai masiškai pakeisti failų koduotę į UTF-8 naudojant įvairius įrankius ir metodus.

Kodėl konvertuoti failus į UTF-8?

UTF-8 yra plačiai naudojama simbolių koduotė, palaikanti visus Unicode simbolius. Ji užtikrina suderinamumą su dauguma sistemų, programų ir kalbų, todėl yra pageidaujamas pasirinkimas žiniatinklio kūrimui, programavimui ir duomenų mainams.

Įrankiai ir metodai masiniam failų konvertavimui į UTF-8

1. Naudojant Notepad++

Notepad++ yra populiarus teksto redaktorius, palaikantis masinį failų koduotės konvertavimą. Štai kaip jį naudoti:

  1. Įdiekite Notepad++: Atsisiųskite ir įdiekite Notepad++ iš jo oficialios svetainės.
  2. Atidarykite failus: Eikite į File > Open ir pasirinkite visus failus, kuriuos norite konvertuoti.
  3. Keiskite koduotę: Eikite į Encoding > Convert to UTF-8.
  4. Išsaugokite failus: Išsaugokite pakeitimus spustelėdami File > Save All.

2. Naudojant Python skriptus

Jei jaučiatės patogiai programuodami, Python gali automatizuoti masinio konvertavimo procesą:

import os

input_folder = 'path/to/your/files'
output_folder = 'path/to/output/files'

for filename in os.listdir(input_folder):
    if filename.endswith('.txt'):  # Adjust for your file type
        input_path = os.path.join(input_folder, filename)
        output_path = os.path.join(output_folder, filename)
        
        with open(input_path, 'r', encoding='ISO-8859-1') as infile:
            content = infile.read()
        with open(output_path, 'w', encoding='UTF-8') as outfile:
            outfile.write(content)

print("Batch conversion to UTF-8 completed.")

Pakeiskite ISO-8859-1 į jūsų įvesties failų koduotę.

3. Naudojant komandų eilutės įrankius

Linux/Unix sistemoms:

Galite naudoti iconv komandą masiniam failų konvertavimui:

for file in *.txt; do
    iconv -f ISO-8859-1 -t UTF-8 "$file" -o "converted_$file"
done

Panašus metodas aptariamas mūsų DUK, kur naudojamos iconv ir find komandos. Prašome peržiūrėti DUK, pavadintą: Kaip galiu konvertuoti failų koduotes Windows kataloge naudojant Unix tipo įrankius ar komandas (pvz., Cygwin arba GnuWin32)? Linux sistemoje, tačiau, jums nereikia Cygwin ar GnuWin32.

Windows sistemoms:

Naudokite PowerShell:

Get-ChildItem -Path "C:\path\to\files\*.txt" | ForEach-Object {
    $content = Get-Content $_.FullName
    Set-Content -Path "C:\path\to\output\$($_.Name)" -Value $content -Encoding UTF8
}

Jei norite konvertuoti failų koduotes Windows kataloge naudojant Unix tipo įrankius ar komandas, prašome kreiptis į mūsų DUK.

4. Naudojant internetinius įrankius

Keletas internetinių įrankių leidžia įkelti ir konvertuoti failus į UTF-8. Tačiau dėl privatumo problemų jie gali būti netinkami jautriems duomenims.

Geriausios praktikos

  • Kurti atsargines kopijas: Visada kurkite atsargines kopijas prieš atliekant masines operacijas.
  • Patikrinkite koduotę: Dvigubai patikrinkite konvertuotus failus, kad įsitikintumėte, jog procesas sėkmingas.
  • Naudokite versijų kontrolę: Jei dirbate prie projekto, įrašykite pakeitimus į versijų kontrolės sistemą, pvz., Git.

DUK

1. Kaip galiu konvertuoti failų koduotes Windows kataloge naudojant Unix tipo įrankius ar komandas (pvz., Cygwin arba GnuWin32)?

Konvertuojant failų koduotes (pvz., ANSI į UTF-8) keliems failams kataloge, rankinis redagavimas yra nepraktiškas. Įrankiai kaip Cygwin arba GnuWin32, kurie suteikia tokias priemones kaip iconv, dos2unix ir unix2dos, yra puikūs šiems darbams. Šie įrankiai leidžia Unix/Linux komandas vykdyti Windows sistemose, todėl tokie darbai kaip masinis failų konvertavimas tampa daug paprastesni.

Kas yra Cygwin ir GnuWin32?

  • Cygwin: Išsamiai platforma, teikianti Unix tipo aplinką Windows. Ji apima POSIX suderinamą sluoksnį, leidžiantį Unix/Linux programoms ir komandoms veikti Windows. Cygwin yra idealus vartotojams, norintiems atlikti įvairias Unix/Linux operacijas, tokias kaip failų koduotės konvertavimas, skriptų rašymas ir paketų valdymas.
  • GnuWin32: Lengvas alternatyvus variantas, siūlantis atskirus Windows natūralius binarinius failus populiarioms Unix/Linux priemonėms. Skirtingai nuo Cygwin, GnuWin32 nesukuria Unix tipo aplinkos, bet koncentruojasi į konkrečias priemones, tokias kaip iconv ir dos2unix. Tai puiku paprastiems uždaviniams be pilnos Unix patirties.

Kaip naudoti iconv koduotės konvertavimui

  • Vieno failo konvertavimas:
    Norint konvertuoti failą iš windows-1252 (dažnai vadinamo ANSI) į UTF-8:

    iconv -f windows-1252 -t utf-8 infile > outfile
    
    • -f windows-1252: Nurodo šaltinio koduotę.
    • -t utf-8: Nurodo paskirties koduotę.
    • infile ir outfile: Įvesties ir išvesties failų keliai.
  • Masinis konvertavimas visiems .txt failams kataloge: Naudokite find komandą, kad rastumėte visus .txt failus ir juos apdorotumėte:

    find . -name '*.txt' -exec iconv --verbose -f windows-1252 -t utf-8 -o {} {} \;
    
    • find .: Ieško dabartinio katalogo (.) ir poaplankių.
    • -name '*.txt': Filtruoja tik .txt failus.
    • -exec: Vykdo nurodytą komandą (iconv) kiekvienam rastam failui.
    • {}: Veikia kaip vietos žymeklis failo keliui.
    • \;: Nurodo -exec komandos pabaigą.

Svarbios pastabos:

  • Šios komandos perrašo originalius failus. Jei reikia, sukurkite duomenų atsargines kopijas.
  • Pasirinkite įrankį pagal savo poreikius:
    • Naudokite Cygwin pilnai Unix tipo aplinkai ir pažangiam skriptavimui.
    • Naudokite GnuWin32 lengvam ir konkrečių įrankių pagrindu veikiančiam darbui.

Išvada

Masinis failų koduotės keitimas į UTF-8 neturi būti sudėtingas uždavinys. Naudodami tokius įrankius kaip Notepad++, Python ir komandų eilutės priemones, galite supaprastinti procesą ir sutaupyti vertingo laiko. Pasirinkite metodą, kuris geriausiai atitinka jūsų darbo eigą, ir mėgaukitės nuoseklios failų koduotės privalumais.

Susiję straipsniai