Czym jest konwersja wielkości liter tekstu?
Konwersja wielkości liter tekstu przyjmuje łańcuch wejściowy i emituje te same słowa wyrenderowane w innej konwencji wielkości liter. Najczęstsze cele to camelCase i PascalCase (używane dla identyfikatorów w większości języków z nawiasami klamrowymi), snake_case i CONSTANT_CASE (Python, Ruby, Rust, makra C), kebab-case (URL-e, nazwy klas CSS, atrybuty HTML, nazwy pakietów npm), dot.case (klucze konfiguracji, ścieżki obiektów JavaScript), path/case (identyfikatory w stylu systemu plików), Title Case i Sentence case (nagłówki i proza), oraz pełny lower case i UPPER CASE. Ten konwerter wykrywa naturalne granice słów w twoim wejściu — białe znaki, myślniki, podkreślniki, kropki, ukośniki oraz przejścia lowercase→uppercase oznaczające identyfikatory typu helloWorld — i składa je z separatorem oraz wzorcem kapitalizacji wymaganym przez każdy docelowy wariant.
Jak działa konwersja wielkości liter?
Twoje wejście jest przetwarzane w całości w twojej przeglądarce za pomocą małego tokenizatora vanilla-JavaScript i jedenastu formaterów wielkości liter. Wysokopoziomowe kroki:
- Twoje wejście jest odczytywane dosłownie z pola tekstowego — każdy bajt, który wkleiłeś, jest przechowywany w pamięci lokalnie.
- Tokenizator dzieli wejście na białych znakach, podkreślnikach, myślnikach, kropkach i ukośnikach, a następnie dodatkowo dzieli każdy fragment na granicach lowercase→uppercase (tak że
helloWorldstaje się["hello", "World"]) oraz na granicach litera↔cyfra (tak żev2APIstaje się["v", "2", "API"]). - Puste tokeny są odfiltrowane, a ocalałe tokeny są zmieniane na małe litery przy użyciu
String.prototype.toLocaleLowerCase, tak aby litery Unicode w tureckim, niemieckim i innych lokalizacjach były poprawnie zachowane. - Jedenaście formaterów składa następnie tokeny w każdy docelowy wariant po kolei — camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, dot.case, path/case, Title Case (z listą małych słów, by
and,the,ofitd. pozostały małymi literami, chyba że są pierwszym lub ostatnim słowem), Sentence case, pełny lower case i pełny UPPER CASE. - Wynik jest zapisywany po jednym wierszu na wariant w siatce wyników; każdy wiersz ma własny przycisk kopiowania, który używa asynchronicznego Clipboard API z synchronicznym fallbackiem
document.execCommand('copy')dla starszych przeglądarek.
Dlaczego korzystać z konwertera wielkości liter?
- Refaktoryzacja identyfikatorów: zmień nazwę zmiennej JavaScript z
user_idnauserId, funkcji Pythona zhelloWorldnahello_worldlub stałej Rust zmaxBuffernaMAX_BUFFERbez ręcznej edycji znak po znaku. - Konwersja kluczy konfiguracji: przerzuć konfig JSON pełen kluczy camelCase do snake_case YAML dla serwisu Pythona lub do kebab-case dla wykresu Helm jednym wklejeniem.
- Pisanie nagłówków: wklej szkic nagłówka i odczytaj go w Title Case (z wyjątkami dla małych słów według Chicago Manual of Style) obok formy Sentence case (AP Stylebook) — wybierz tę, której używa twoja publikacja.
- Generowanie slugów URL: wklej tytuł wpisu blogowego i skopiuj formę kebab-case prosto w pole slug w twoim CMS — tokenizator radzi sobie z interpunkcją i frazami wielowyrazowymi bez pozostawiania zbędnych separatorów.
Jakie są typowe zastosowania konwersji wielkości liter?
Przełączanie między konwencjami wielkości liter pojawia się w inżynierii oprogramowania, tworzeniu treści oraz inżynierii danych:
- Refaktoryzacja kodu: zmiana nazw identyfikatorów w bazie kodu, gdy zmienia się przewodnik stylu (np. JavaScript camelCase → Python snake_case podczas przepisywania backendu) bez wprowadzania literówek.
- Przekształcanie ładunków API: konwersja kluczy camelCase JSON na snake_case przed przekazaniem ich do backendu Ruby on Rails lub Django, lub na kebab-case dla nazwy klasy CSS-in-JS.
- Tworzenie nagłówków i slugów: wytwórz tytuły stron w Title Case, opisy meta w Sentence case i slugi URL w kebab-case z tego samego źródłowego nagłówka w jednym kroku.
Jak wygląda przykład konwersji wielkości liter?
Wklej Hello World API do wejścia. Siatka wyników renderuje jedenaście wierszy jednocześnie: helloWorldApi (camelCase), HelloWorldApi (PascalCase), hello_world_api (snake_case), HELLO_WORLD_API (CONSTANT_CASE), hello-world-api (kebab-case), hello.world.api (dot.case), hello/world/api (path/case), Hello World Api (Title Case), Hello world api (Sentence case), hello world api (lower case) i HELLO WORLD API (UPPER CASE). To samo wejście wklejone jako helloWorldAPI tokenizuje się do tych samych trzech słów — detektor granicy lowercase→uppercase obsługuje też tę postać.
Czy to działa w mojej przeglądarce?
Tak. Tokenizator i jedenaście formaterów wielkości liter to około 120 linii vanilla-JavaScript działających wewnątrz karty przeglądarki. Nic nie jest wysyłane, żaden service worker nie pośredniczy w twoim wejściu, a strona nie wykonuje żadnych żądań sieciowych dla samego kroku konwersji. Jedyny ruch wychodzący to standardowe zasoby ładowania strony (CSS, czcionki, analityka) — twój tekst nigdy nie dociera do Ultim8Soft.
Jakiego formatu wielkości liter używać dla nazw zmiennych?
To zależy od języka i przewodnika stylu zespołu. Bazy kodu JavaScript i TypeScript w przeważającej większości używają camelCase dla zmiennych i funkcji, PascalCase dla klas i komponentów React oraz CONSTANT_CASE dla nazw zmiennych środowiskowych i stałych na poziomie modułu — przewodniki Google JavaScript i Airbnb pinują te wybory. Python (PEP 8), Ruby i Rust preferują snake_case dla zmiennych i funkcji, PascalCase dla klas oraz CONSTANT_CASE dla stałych na poziomie modułu. Bazy kodu C i C++ (jądro Linux, LLVM) opierają się na snake_case dla funkcji i CONSTANT_CASE dla makr preprocesora. W razie wątpliwości uruchom linter lub formater zespołu — powie ci, która konwencja jest wymuszana.
Jak tokenizowane jest wejście?
Tokenizator najpierw dzieli wejście na dowolnym ciągu białych znaków, podkreślnika (_), myślnika (-), kropki (.) lub ukośnika (/). Każdy powstały fragment jest następnie dzielony ponownie na granicach lowercase→uppercase (tak że helloWorld staje się ["hello", "World"]) oraz na granicach litera↔cyfra (tak że v2API staje się ["v", "2", "API"]). Puste tokeny są odfiltrowywane, a ocalałe tokeny są zmieniane na małe litery przez String.prototype.toLocaleLowerCase. Formatery następnie ponownie kapitalizują i ponownie łączą tokeny separatorem wymaganym przez każdy docelowy wariant. Strategia obsługuje wszystkie sześć popularnych form identyfikatorów — camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE oraz zwykłą prozę rozdzieloną spacjami — od razu po wyjęciu z pudełka.
A znaki Unicode / nie-ASCII?
Litery Unicode przeżywają podróż w obie strony. Tokenizator używa String.prototype.toLocaleLowerCase i toLocaleUpperCase, które honorują lokalnie specyficzne reguły wielkości liter — tureckie i z kropką i bez, niemieckie ß w wielkiej postaci jako SS, litery łacińskie z akcentami we francuskim i hiszpańskim i tak dalej. Znaki nieliterowe, które NIE są w zestawie separatorów (białe znaki, _, -, ., /) — na przykład cyfry, litery z akcentami lub znaki CJK — są zachowywane wewnątrz tokenu, w którym się pojawiają, a formatery wielkości liter emitują je dosłownie. Oznacza to, że wejście takie jak nœud_principal tokenizuje się do ["nœud", "principal"] i konwertuje czysto do nœudPrincipal (camelCase) lub NœudPrincipal (PascalCase).
Ten konwerter wielkości liter to jedna statyczna strona, która wykonuje tokenizator i jedenaście formaterów w całości w twojej przeglądarce — bez biblioteki dostawcy, bez wywołania sieciowego na konwersję, bez konta. Wklej dowolny tekst powyżej, przejrzyj jedenaście wyjść wielkości liter obok siebie i skopiuj ten, którego potrzebujesz.