机场代码 IATA
三字码/城市/国家对照
关于本工具
了解工具定位 · 使用场景 · 对比优势
使用场景
国际机票核验
旅行代理给的电子行程单上写着「PEK-LHR」,但你不确定 PEK 是不是北京、LHR 是不是伦敦。本工具输入三字码即可秒出对应的城市和国家全称,避免因机场代码混淆而订错出发地或目的地,尤其适合多航段、多中转的复杂行程核验。
跨境物流分拣
仓库收到一批运单,面单上只印了「FRA」「AMS」「DXB」等三字码,分拣员需要快速对应到法兰克福、阿姆斯特丹、迪拜等实际城市。使用本工具批量查询代码与城市对照表,减少人工翻查手册的时间,提升分拣准确率和效率。
航班数据清洗
数据分析师从航班 API 拉到的原始数据中,机场字段是 IATA 三字码而非城市名。用本工具将「SFO」「JFK」「LAX」批量转换为「旧金山」「纽约」「洛杉矶」,方便后续按城市维度做航线流量统计或可视化报表。
航空术语学习
航空专业学生在阅读 OAG 航班时刻表或 ICAO 文件时,频繁遇到陌生三字码如「HND」「NRT」「KIX」。本工具提供快速反向查询:输入代码即显示城市和国家,帮助初学者快速建立代码与地理位置的对应关系,加速专业阅读和考试准备。
旅行攻略规划
在做多国旅行路线时,看到攻略里写「从 BKK 飞 SIN 转机到 CGK」,但不知道这些代码对应哪些城市。用本工具一次查出 BKK=曼谷、SIN=新加坡、CGK=雅加达,从而判断转机是否顺路、是否需要过境签,避免因代码不明而规划出绕路行程。
对比矩阵本工具 vs 竞品 vs 传统方法
| 维度 | 本工具 | 竞品 A (IATA Code Search) | 传统方法 |
|---|---|---|---|
| 数据隐私 | 纯浏览器端运行,机场数据零上传 | 查询需提交至服务器端处理 | 需联系航司或机场工作人员,涉及人工传递信息 |
| 处理速度 | 输入即显示,毫秒级响应 | 受网络延迟影响,通常 1-3 秒 | 数小时至数天,取决于沟通效率 |
| 离线可用 | 首次加载后,完全离线可用 | 必须联网,无法离线查询 | 完全依赖线下人工和纸质资料 |
| 数据覆盖范围 | 覆盖全球主要机场及城市三字码 | 覆盖全球,数据更新频率较高 | 依赖个人经验或机构内部资料,覆盖不全 |
| 使用成本 | 免费,无任何隐藏费用 | 免费,但可能有查询次数限制或广告 | 需耗费时间成本及可能的通讯费用 |
| 操作复杂度 | 输入三字码或城市名即查,零学习成本 | 需在搜索框输入,部分网站需验证码 | 需通过电话、邮件等渠道沟通,流程繁琐 |
使用指南
上手步骤 · 输入输出 · 避坑提示
输入输出示例7 个典型场景,覆盖常规、边界与易错
| 输入 | 输出 | 说明 |
|---|---|---|
| PEK | 北京 / 北京首都国际机场 / 中国 | 典型场景:查询中国主要国际枢纽机场 |
| JFK | 纽约 / 约翰·F·肯尼迪国际机场 / 美国 | 典型场景:查询美国主要国际枢纽机场 |
| LHR | 伦敦 / 希思罗机场 / 英国 | 典型场景:查询欧洲主要国际枢纽机场 |
| NRT | 东京 / 成田国际机场 / 日本 | 典型场景:查询亚洲主要国际枢纽机场 |
| hkg | 香港 / 香港国际机场 / 中国 | 边界 case:输入小写字母,工具自动转为大写 |
| AAA | 未找到匹配的机场代码 | 边界 case:AAA 是保留代码,未分配给任何机场 |
| PEK | 北京 / 北京首都国际机场 / 中国 | 易错 case:输入包含尾部空格,工具自动去除 |
常见错误对照7 个常踩的坑 · 错误 → 修复
1. 把机场全名当代码输入
北京首都国际机场PEK工具只识别 IATA 三字码(如 PEK、LAX),输入全名或中文名不会匹配任何结果。
2. 输入了两位数或四位数代码
BJPEKIATA 机场代码固定为三个大写字母。输入两位(城市代码)或四位(ICAO 代码)均无法查询。
3. 混淆城市代码与机场代码
查询「纽约」得到 JFK查询 NYC(城市代码)或 JFK/LGA/EWR(机场代码)NYC 是纽约市的城市代码,对应多个机场;JFK 只是其中一座机场。工具按三字码精确匹配,不自动聚合。
4. 输入了小写字母
pekPEKIATA 代码标准为大写字母。虽然部分系统做大小写转换,但本工具要求严格大写输入。
5. 混入空格或特殊字符
PEK PEK代码前后多余的空格、横线或点号会导致匹配失败。工具不做自动 trim。
6. 误用已废弃的机场代码
查询「NRT」以为它是东京主机场查询 NRT 和 HND 分别确认NRT(成田)和 HND(羽田)都是东京机场,但 NRT 国际线为主。部分旧代码(如 NYC 的旧机场)已停用。
7. 把铁路站代码当机场代码
查询「YYZ」以为是多伦多火车站YYZ 是多伦多皮尔逊国际机场的三字码IATA 代码也用于火车站(如 ZYP 是纽约宾州车站),但本工具仅包含机场数据。
工作原理
公式推导 · 流程图解 · 依据出处
核心公式
IATA 代码 = 机场三字码(由 IATA 分配,非计算生成)
变量说明
IATA 代码— 机场唯一三字码,如 PEK、LHR城市— 机场所在城市名称国家— 机场所在国家或地区
示例
输入三字码 NRT,查询结果为:城市 = 东京,国家 = 日本。该代码由 IATA 在机场开通时分配,与 ICAO 四字码(如 RJAA)不同。
适用范围
适用于全球已分配 IATA 代码的民用/军用机场。不适用于未分配代码的小型机场、直升机场或已关闭机场。数据来源:IATA 官方机场代码目录。
原理图
开发者集成
3 种主流语言 · 复制即用
import json
import requests
# 使用本地 JSON 数据模拟 IATA 三字码查询
# 实际场景可替换为 API 调用
IATA_DATA = {
"PEK": {"city": "北京", "country": "中国", "airport": "北京首都国际机场"},
"NRT": {"city": "东京", "country": "日本", "airport": "成田国际机场"},
"JFK": {"city": "纽约", "country": "美国", "airport": "约翰·F·肯尼迪国际机场"},
}
def lookup_iata(code: str) -> dict:
"""根据 IATA 三字码查询机场信息,不区分大小写"""
code = code.upper().strip()
if len(code) != 3 or not code.isalpha():
raise ValueError("IATA 代码必须为 3 个字母")
result = IATA_DATA.get(code)
if not result:
return {"error": f"未找到代码 {code}"}
return result
# 示例查询
print(json.dumps(lookup_iata("pek"), ensure_ascii=False))
# 输出: {"city": "北京", "country": "中国", "airport": "北京首都国际机场"}
print(json.dumps(lookup_iata("lhr"), ensure_ascii=False))
# 输出: {"error": "未找到代码 LHR"}package main
import (
"encoding/json"
"fmt"
"strings"
)
// AirportInfo 存储机场信息
type AirportInfo struct {
City string `json:"city"`
Country string `json:"country"`
Airport string `json:"airport"`
}
var iataDB = map[string]AirportInfo{
"PEK": {"北京", "中国", "北京首都国际机场"},
"NRT": {"东京", "日本", "成田国际机场"},
"JFK": {"纽约", "美国", "约翰·F·肯尼迪国际机场"},
}
// LookupIATA 查询 IATA 代码,自动转为大写
func LookupIATA(code string) (string, error) {
code = strings.ToUpper(strings.TrimSpace(code))
if len(code) != 3 {
return "", fmt.Errorf("IATA 代码必须为 3 个字母")
}
info, ok := iataDB[code]
if !ok {
return fmt.Sprintf(`{"error":"未找到代码 %s"}`, code), nil
}
data, _ := json.Marshal(info)
return string(data), nil
}
func main() {
result, _ := LookupIATA("pek")
fmt.Println(result)
// 输出: {"city":"北京","country":"中国","airport":"北京首都国际机场"}
result, _ = LookupIATA("lhr")
fmt.Println(result)
// 输出: {"error":"未找到代码 LHR"}
}// 浏览器端或 Node.js 均可运行
const IATA_DB = {
PEK: { city: '北京', country: '中国', airport: '北京首都国际机场' },
NRT: { city: '东京', country: '日本', airport: '成田国际机场' },
JFK: { city: '纽约', country: '美国', airport: '约翰·F·肯尼迪国际机场' },
};
function lookupIATA(code) {
if (typeof code !== 'string') {
throw new Error('输入必须为字符串');
}
const normalized = code.trim().toUpperCase();
if (!/^[A-Z]{3}$/.test(normalized)) {
throw new Error('IATA 代码必须为 3 个字母');
}
const result = IATA_DB[normalized];
if (!result) {
return { error: `未找到代码 ${normalized}` };
}
return result;
}
// 示例
console.log(JSON.stringify(lookupIATA('pek'), null, 2));
// 输出: {"city":"北京","country":"中国","airport":"北京首都国际机场"}
console.log(JSON.stringify(lookupIATA('lhr'), null, 2));
// 输出: {"error":"未找到代码 LHR"}常见问题
8 个高频疑问