Przejdź do treści

Wtyczka Kodowanie

Menu Kodowanie, służące do ponownego wczytania pliku w innym kodowaniu znaków albo do przekonwertowania go na inne kodowanie. Wewnętrznie edytor pracuje w UTF-8; ta wtyczka decyduje, jak bajty pliku są mapowane do i z tego kodowania.

Twój plik zachowuje swoje kodowanie

OctoEdit wykrywa kodowanie pliku przy otwarciu i zapisuje go z powrotem w tym samym kodowaniu za każdym razem. Plik UTF-8 ze znacznikiem kolejności bajtów zachowuje swój BOM, plik UTF-16 pozostaje w UTF-16, a plik w systemowej stronie kodowej ANSI nie zostaje po cichu zamieniony na UTF-8 przy pierwszym Ctrl+S.

Kodowanie należy do dokumentu, a nie do tej wtyczki: poniższe menu je pokazuje i zmienia, a zapisu dokonuje rdzeń edytora. Dlatego konwersja jest traktowana jak każdy inny zapis — jest atomowa, obejmuje ją kopia zapasowa przy zapisie, a obserwator plików wie, że zmiana pochodzi od Ciebie.

Plik .editorconfig projektu z ustawionym charset nadal ma pierwszeństwo: to decyzja zapisana dla całego projektu i przeważa nad tym, co mówiły bajty pojedynczego pliku. Po takim zapisie dokument podaje to kodowanie jako swoje, więc menu i pasek stanu nazywają to, co naprawdę jest na dysku.

Dwa rodzaje poleceń

To rozróżnienie ma znaczenie — jedno zmienia interpretację, a drugie zmienia to, w czym plik zostanie zapisany:

Rodzina Menu Działanie
Interpretuj jako Kodowanie ▸ <encoding> oraz Kodowanie ▸ Zestawy znaków ▸ <set> Ponownie wczytuje bajty pliku z dysku i dekoduje je wybranym kodowaniem, zastępując zawartość bufora, a wybrane kodowanie zapamiętuje na dokumencie. Użyj tego, gdy plik otworzył się jako „krzaczki”. Plik na dysku pozostaje nietknięty, dopóki go nie zapiszesz.
Konwertuj na Kodowanie ▸ Konwertuj na <encoding> Oznacza dokument jako „do zapisania w tym kodowaniu” i oznacza go jako zmodyfikowany. Żadne bajty nie są jeszcze zapisywane — zapisz dokument, aby zastosować konwersję, albo zamknij go bez zapisywania, aby z niej zrezygnować.

Kodowanie, którego aktualnie używa aktywny dokument, jest w menu zaznaczone ptaszkiem: na najwyższym poziomie dla pozycji Unicode/ANSI, a wewnątrz Kodowanie ▸ Zestawy znaków dla kodowań starszego typu. Znacznik podąża za aktywną kartą, więc przełączanie dokumentów od razu pokazuje, co jest czym.

Pasek stanu pokazuje to samo kodowanie we własnym segmencie (UTF-8, UTF-8-BOM, ANSI, Windows-1250, …) i również podąża za aktywnym dokumentem — widzisz więc, czym jest plik, bez otwierania menu.

Dostępne kodowania

  • Unicode: UTF-8, UTF-8-BOM, UTF-16 LE BOM, UTF-16 BE BOM.
  • ANSI — lokalna, jednobajtowa strona kodowa systemu.
  • Podmenu Zestawy znaków — kodowania starszego typu pogrupowane według języka: arabski, bałtycki, celtycki, środkowoeuropejski, chiński, cyrylica, wschodnioeuropejski, grecki, hebrajski, japoński, koreański, północnoeuropejski, tajski, turecki, wietnamski i zachodnioeuropejski.

Konwertuj na oferuje pięć podstawowych pozycji Unicode/ANSI. Strona kodowa starszego typu jest dostępna przez Interpretuj jako, a dokument wczytany w ten sposób jest zapisywany z powrotem w tej samej stronie kodowej.

Naprawianie zniekształconego pliku

Jeśli plik otwiera się jako bełkot, spróbuj Interpretuj jako z kodowaniem, którego się spodziewasz (np. jakiś zestaw znaków starszego typu). Gdy tekst wygląda poprawnie, użyj Konwertuj na UTF-8 i zapisz, aby przechować plik w nowoczesnym, przenośnym kodowaniu.