在线大小写转换工具:快速切换代码命名风格
什么是大小写转换
大小写转换(Case Converter)是在不同文本命名风格之间转换的工具。在编程中,不同的语言和场景使用不同的命名约定(Naming Convention),大小写转换工具让你快速在这些风格之间切换。需要立即转换一段文本?试试我们的免费大小写转换工具,在浏览器中即时切换 camelCase、PascalCase、snake_case 等命名风格。
常见命名风格
| 风格 | 格式 | 示例 | 常见场景 |
|---|---|---|---|
| camelCase | 小驼峰 | firstName | JavaScript 变量、函数名 |
| PascalCase | 大驼峰 | FirstName | React 组件、类名 |
| snake_case | 下划线 | first_name | Python、数据库字段 |
| kebab-case | 短横线 | first-name | CSS 类名、URL slug |
| SCREAMING_SNAKE_CASE | 全大写下划线 | FIRST_NAME | 常量 |
| Title Case | 词首大写 | First Name | 标题、文档 |
| Flat/lowercase | 全小写 | firstname | CSS 原子类、标签 |
为什么需要大小写转换
- 跨语言开发:JavaScript 用 camelCase,Python 用 snake_case,需要频繁转换
- API 对接:后端返回 snake_case 字段,前端需要 camelCase
- CSS 类名:将描述性文本转为 kebab-case
- 数据库迁移:不同数据库的命名约定不同
- 代码重构:重命名变量时切换命名风格
- 常量定义:将普通变量名转为 SCREAMING_SNAKE_CASE
如何使用在线大小写转换工具
使用 ToolVault 工具匣 的 大小写转换工具:
- 在输入框粘贴任意写法的文本或标识符(不必先「识别」当前风格)
- 点击目标风格按钮:UPPER / lower / Title / camelCase / PascalCase / snake_case / kebab-case / CONSTANT_CASE
- 输出区即时更新,一键复制
标识符模式(camel / pascal / snake / kebab / constant)会:
- 按驼峰与分隔符切词,并对
HTTP、URL、JSON、ID等常见缩写做贪心匹配(如XMLHttpRequest→xml_http_request) - 使用 locale 无关的 ASCII 字母映射,避免土耳其语环境下
i→İ毁掉标识符 - 在中文与拉丁混排处切开(
用户Name→用户_name),中文段原样保留
各语言命名规范
JavaScript / TypeScript
// 变量、函数:camelCase
const firstName = "Alice";
function getUserData() {}
// 类、组件:PascalCase
class UserService {}
function UserProfile() {}
// 常量:SCREAMING_SNAKE_CASE
const API_BASE_URL = "https://api.example.com";
Python
# 变量、函数:snake_case
first_name = "Alice"
def get_user_data(): ...
# 类:PascalCase
class UserService: ...
# 常量:SCREAMING_SNAKE_CASE
API_BASE_URL = "https://api.example.com"
CSS
/* 类名:kebab-case */
.user-profile { }
.primary-button { }
React
// 组件文件名:PascalCase.tsx
// UserProfile.tsx
// index.tsx(例外:目录索引文件)
// 组件:PascalCase
function UserProfile() {}
// 变量、事件处理:camelCase
const userName = "Alice";
const handleClick = () => {};
转换规则详解
camelCase → snake_case
// 规则:在大写字母前插入下划线,全部转小写;连续大写按缩写词表切
firstName → first_name
getUserData → get_user_data
XMLHttpRequest → xml_http_request
getHTTPURL → get_http_url
snake_case → camelCase / PascalCase
first_name → firstName // camel
first_name → FirstName // pascal
get_user_data → getUserData
PascalCase → kebab-case
UserProfile → user-profile
XMLHttpRequest → xml-http-request
土耳其 i 问题与 locale 感知转换
toUpperCase("i") 在土耳其语里是 İ(带点大写 I)不是 I——忽略 locale 的转换器会静默损坏经过它的土耳其用户数据。经典事故:邮箱归一化管线大写化用户名,土耳其用户被锁在门外。本工具的标识符模式走 ASCII a–z/A–Z 映射;文案模式的 UPPER/lower 固定用 en-US,让拉丁结果可预期。德语 ß 大写成 SS(字符串变长)、希腊词尾 σ 与 ς——数据跨 locale 就该:保留原文、仅为显示或匹配转换、永不把转换结果当身份存。
驼峰拆分的歧义学
getUserByIDString 拆回词是猜谜——「get User By ID String」还是「Get User By Idstring」?拆分器对连续大写(ID 连写)、数字(v2Parser)、前导下划线各不相同。本工具对已知缩写贪心匹配,未知全大写片段整段保留——装作确定的那些产出尴尬的导出结果。反向转换重要时,正向命名就要为可逆设计:缩写词大小写始终一致、一个标识符里永不同时混 _ 和大小写分隔。
需要 URL 友好短横线且含中文时,可配合 Slug 生成器 做拼音化;纯风格切换仍用 case converter。
代码迁移工具化:400 字段映射的现实
大宗用例:JSON API 的 snake_case 对 JavaScript 的 camelCase,中间 400 个字段的映射。转换器干机械部分,但两个字段名映射有歧义(created_at_2 变 createdAt2 还是 createdat2?)而一个错字段静默丢数据。可复现的做法:转换后与已知样本对象深度比对 JSON,再加类型层检查(TypeScript satisfies 或 Zod schema)——下次 schema 变化时响亮失败而不是带着 undefined 字段上线。
数字边界、缩写词表,以及不该转的时候
标识符模式还会在字母↔数字边界切开(v2Parser → snake 下的 v_2_parser)。这对 HTTP2Client 这类名字有用,但若你本意是把 v2 当产品代号整段保留,转换后要手改。缩写词表(最长优先)覆盖常见片段如 HTTP、URL、JSON、CDN、SDK、CLI、GUID;未知全大写块整段保留,而不是硬猜切开。
不要把整段散文丢进 camel/snake 指望得到漂亮标题——给人看的文字用 Title / UPPER / lower。也不要把转换后的标识符当成主键存储,若原始大小写本身就是契约(库表列名、公开 API 字段)。需要中文转拼音短横线 URL 时,用 Slug 生成器;本工具专注纯风格切换。
实现注记
文案 UPPER/lower/title 走 en-US locale(德语 ß 大写为 SS)。标识符模式用固定 ASCII a–z 表,避免浏览器落在 tr-TR 时把 getUserId 里的 i 变成 İ。这个分叉是刻意的:句子跟 locale 预期;代码标识符必须在机器之间字节稳定。
FAQ
为什么 JavaScript 用 camelCase 而 Python 用 snake_case?
这是历史和社区惯例。JavaScript 继承了 Java 的驼峰命名风格。Python 社区通过 PEP 8 规范确立了下划线风格。两种风格各有优势,关键是团队内部保持一致。
什么时候用 SCREAMING_SNAKE_CASE?
用于标识「不应该被修改」的常量。const API_URL = "..." 中的大写命名提醒开发者这是一个常量,不应该重新赋值。
kebab-case 和 snake_case 怎么选?
CSS 类名和 URL slug 必须用 kebab-case(浏览器与多数路由约定把连字符当分词)。变量名根据语言规范选择。
PascalCase 和 camelCase 差在哪?
仅首字母:userProfile vs UserProfile。类、React 组件、类型名用 Pascal;变量与函数用 camel。本工具两者都可一键切换。
本文由 ToolVault 工具匣 提供。其他在线工具可在 首页 找到。
相关工具
相关文章
Markdown 转 Word 交付指南:样式映射与行内降级
把 Markdown 草稿变成可交付的 .docx:pandoc 命令行与浏览器本地转换两条路线,标题/表格/代码块的 Word 原生样式映射对照,行内格式降级清单,以及「可编辑」为什么比「看起来像」更重要。
Word 转 Markdown 怎么转才干净:两条路线与格式保真对照
docx 转 Markdown 教程:pandoc 命令行与浏览器本地转换两条路线对比,标题/表格/图片/自动编号的保真行为,.doc 旧格式、图片体积、合并单元格等常见坑的解法。
中国车牌号规则与校验:普通牌、新能源与特殊格式全解
中国大陆车牌号编码规则详解:普通蓝牌、新能源 GA36D-2018、武警与使馆牌的结构、省份简称与发牌机关编码,附在线校验方法。