Apakah penukaran kes teks?
Penukaran kes teks mengambil rentetan input dan memancarkan perkataan yang sama dipaparkan dalam konvensyen huruf yang berbeza. Sasaran yang paling biasa ialah camelCase dan PascalCase (digunakan untuk pengecam dalam kebanyakan bahasa kurungan kerinting), snake_case dan CONSTANT_CASE (Python, Ruby, Rust, makro C), kebab-case (URL, nama kelas CSS, atribut HTML, nama pakej npm), dot.case (kunci konfigurasi, laluan objek JavaScript), path/case (pengecam gaya sistem fail), Title Case dan Sentence case (tajuk berita dan prosa), ditambah huruf kecil dan HURUF BESAR penuh. Penukar ini mengesan sempadan perkataan semula jadi dalam input anda — ruang putih, sempang, garis bawah, titik, garis miring, dan peralihan huruf kecil→huruf besar yang menandakan pengecam gaya helloWorld — dan menyusun semula dengan pemisah dan corak huruf besar yang diperlukan oleh setiap kes sasaran.
Bagaimana penukaran kes berfungsi?
Input anda diproses sepenuhnya dalam pelayar anda menggunakan tokenizer JavaScript vanilla kecil dan sebelas pemformat kes. Langkah peringkat tinggi adalah:
- Input anda dibaca secara verbatim dari kawasan teks — setiap bait yang anda tampalkan disimpan secara setempat dalam ingatan.
- Tokenizer membahagikan input pada ruang putih, garis bawah, sempang, titik, dan garis miring, kemudian membahagikan lagi setiap bahagian pada sempadan huruf kecil→huruf besar (jadi
helloWorldmenjadi["hello", "World"]) dan pada sempadan huruf↔digit (jadiv2APImenjadi["v", "2", "API"]). - Token kosong ditapis dan token yang tinggal diturunkan menggunakan
String.prototype.toLocaleLowerCasesupaya huruf Unicode dalam bahasa Turki, Jerman, dan bahasa lain dikekalkan dengan betul. - Sebelas pemformat kemudian menyusun token ke dalam setiap kes sasaran secara bergilir — camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, dot.case, path/case, Title Case (dengan senarai perkataan kecil supaya
and,the,of, dll. kekal huruf kecil kecuali sebagai perkataan pertama atau terakhir), Sentence case, huruf kecil penuh, dan HURUF BESAR penuh. - Output ditulis ke satu baris setiap kes dalam grid hasil; setiap baris mempunyai butang salinnya sendiri yang menggunakan API Papan Klip tak segerak dengan sandaran
document.execCommand('copy')segerak untuk pelayar lama.
Mengapa menggunakan penukar kes?
- Refaktor pengecam: namakan semula pemboleh ubah JavaScript dari
user_idkepadauserId, fungsi Python darihelloWorldkepadahello_world, atau pemalar Rust darimaxBufferkepadaMAX_BUFFERtanpa mengedit satu aksara pada satu masa. - Tukar kunci konfigurasi: balikkan konfigurasi JSON penuh kunci camelCase kepada YAML snake_case untuk perkhidmatan Python, atau kepada kebab-case untuk carta Helm, dalam satu tampal.
- Tulis tajuk: tampal draf tajuk dan baca semula bentuk Title Case (dengan pengecualian perkataan kecil Chicago Manual of Style) di sebelah bentuk Sentence case (AP Stylebook) — pilih mana-mana yang digunakan oleh penerbitan anda.
- Jana slug URL: tampal tajuk catatan blog dan salin bentuk kebab-case terus ke dalam medan slug CMS anda — tokenizer menangani tanda baca dan frasa berbilang perkataan tanpa meninggalkan pemisah tersasar.
Apakah aplikasi biasa penukaran kes?
Beralih antara konvensyen huruf muncul dalam kejuruteraan perisian, pengarangan kandungan, dan kejuruteraan data:
- Refaktor kod: namakan semula pengecam merentasi pangkalan kod apabila panduan gaya berubah (contoh: camelCase JavaScript → snake_case Python semasa penulisan semula backend) tanpa memperkenalkan kesilapan taip.
- Pembentukan semula muatan API: tukar kunci JSON camelCase kepada snake_case sebelum menyuapkannya ke backend Ruby on Rails atau Django, atau kepada kebab-case untuk nama kelas CSS-in-JS.
- Pengarangan tajuk dan slug: hasilkan tajuk halaman Title Case, penerangan meta Sentence case, dan slug URL kebab-case dari tajuk sumber yang sama dalam satu langkah.
Bagaimana contoh penukaran kes kelihatan?
Tampal Hello World API ke dalam input. Grid hasil memaparkan sebelas baris secara serentak: 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 (huruf kecil), dan HELLO WORLD API (HURUF BESAR). Input yang sama yang ditampal sebagai helloWorldAPI ditokenkan kepada tiga perkataan yang sama — pengesan sempadan huruf kecil→huruf besar menangani bentuk tersebut juga.
Adakah ini berjalan dalam pelayar saya?
Ya. Tokenizer dan sebelas pemformat kes ialah kira-kira 120 baris JavaScript vanilla yang berjalan dalam tab pelayar. Tiada apa yang dimuat naik, tiada proksi pekerja perkhidmatan pada input anda, dan halaman membuat sifar permintaan rangkaian untuk langkah penukaran itu sendiri. Satu-satunya trafik keluar ialah aset muatan halaman piawai (CSS, fon, analitik) — teks anda tidak pernah sampai ke Ultim8Soft.
Format kes mana yang perlu saya gunakan untuk nama pemboleh ubah?
Bergantung pada bahasa dan panduan gaya pasukan. Pangkalan kod JavaScript dan TypeScript secara besar-besaran menggunakan camelCase untuk pemboleh ubah dan fungsi, PascalCase untuk kelas dan komponen React, dan CONSTANT_CASE untuk nama pemboleh ubah persekitaran dan pemalar peringkat modul. Python (PEP 8), Ruby, dan Rust lebih suka snake_case untuk pemboleh ubah dan fungsi, PascalCase untuk kelas, dan CONSTANT_CASE untuk pemalar peringkat modul. Pangkalan kod C dan C++ (kernel Linux, LLVM) bergantung pada snake_case untuk fungsi dan CONSTANT_CASE untuk makro preprocessor. Apabila ragu-ragu, jalankan penyelit atau pemformat pasukan anda — ia akan memberitahu anda konvensyen mana yang dikuatkuasakan.
Bagaimana input ditokenkan?
Tokenizer pertama kali membahagikan input pada mana-mana jujukan ruang putih, garis bawah (_), sempang (-), titik (.), atau garis miring (/). Setiap bahagian yang terhasil kemudian dibahagikan sekali lagi pada sempadan huruf kecil→huruf besar (jadi helloWorld menjadi ["hello", "World"]) dan pada sempadan huruf↔digit (jadi v2API menjadi ["v", "2", "API"]). Token kosong ditapis, dan token yang tinggal diturunkan melalui String.prototype.toLocaleLowerCase. Pemformat kemudian menghurufkan semula dan menyambung semula token dengan pemisah yang diperlukan oleh setiap kes sasaran. Strategi ini menangani semua enam bentuk pengecam biasa — camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, dan prosa berpisah ruang biasa — secara sedia ada.
Bagaimana dengan aksara Unicode / bukan ASCII?
Huruf Unicode selamat dalam perjalanan pergi balik. Tokenizer menggunakan String.prototype.toLocaleLowerCase dan toLocaleUpperCase, yang menghormati peraturan pengeskan khusus bahasa — i bertitik berbanding tidak bertitik Turki, pengeskan ß Jerman kepada SS, huruf Latin beraksent dalam bahasa Perancis dan Sepanyol, dan sebagainya. Aksara bukan huruf yang BUKAN dalam set pemisah (ruang putih, _, -, ., /) — contohnya digit, huruf beraksent, atau aksara CJK — disimpan dalam token yang dimuatnya dan pemformat kes memancarkan semula secara verbatim. Ini bermakna input seperti nœud_principal ditokenkan kepada ["nœud", "principal"] dan ditukar dengan bersih kepada nœudPrincipal (camelCase) atau NœudPrincipal (PascalCase).
Penukar kes ini ialah halaman statik tunggal yang menjalankan tokenizer dan sebelas pemformat sepenuhnya dalam pelayar anda — tiada pustaka vendor, tiada panggilan rangkaian per penukaran, tiada akaun. Tampal mana-mana teks di atas, imbas sebelas output kes bersebelahan, dan salin yang anda perlukan.