国际标准之语言编码 - ISO-639

ISO-639-1是两个字母的语言编码,ISO-639-2和ISO-639-3是3个字母的编码。
在我们在软件配置或相关开发时需要对语言进行操作,作为参数或进行识别时,就需要用到这个语言编码了。
ISO639-1主要是用于术语、辞书编纂和语言学,也适用于任何需要以2字母代码形式表示语种的工作领域(尤其是计算机系统)。
ISO639-2不仅包括ISO639-1中的全部语种,也包括ISO639-1以外的语言,同时还包括集合语种,以便当需要更详细编码时能进行特殊目的的编码 。
ISO639-1中列出的语种是ISO639-2中语种的子集,2字母代码中的每个语种代码在3字母代码表中都有对应的代码,但3字母代码中的每个语种代码不一定在2字母代码表中有对应的代码。
这两个语种代码表是开放式的。这些代码一直用于术语、辞书编纂、信息和文献(例如用于图书馆、信息服务和出版社)以及语言学。ISO639-1也包括制定语种代码的指南和一些应用语种代码的方法。
ISO 639-3延伸了 ISO 639-2 里的 Alpha-3 code(三个字母的代号),目标是涵盖所有的语言。
所以,它是 ISO 639-1 的超集合。 
ISO 639-3 是 ISO 639-2 个别语言的超集合,但是因为 ISO 639-3 没有 ISO 639-2 的语言集合,所以 ISO 639-3 不是整个 ISO 639-2 的超集合。
其中有4个代码用来代表特殊情况:
mis──“uncoded languages”(未编码语言);
mul──“multiple languages”(多语种);
und──“undetermined language”(未确定的语种);
zxx──“no linguistic content”。
标准中亦有一个供私人使用的范围: qaa-qtz。
举个例子,汉语在ISO-639-2中是一个语种“zho”。
而在 ISO 639-3 代码中,汉语被分为好几种方言。
ISO-639-1:
CODE
Language Name
中文名
AA
Afar
阿法尔语
AB
Abkhazian
阿布哈兹语
AE
Avestan
阿维斯坦语
AF
Afrikaans
南非语
AK
Akan
阿肯语
AM
Amharic
阿姆哈拉语
AN
Aragonese
阿拉贡语
AR
Arabic
阿拉伯语
AS
Assamese
阿萨姆语
AV
Avaric
阿瓦里语
AY
Aymara
艾马拉语
AZ
Azerbaijani
阿塞拜疆语
BA
Bashkir
巴什基尔语
BE
Belarusian
白俄罗斯语
BG
Bulgarian
保加利亚语
BH
Bihari
比哈里语
BI
Bislama
比斯拉马语
BM
Bambara
班巴拉语
BN
Bengali
孟加拉语
BO
Tibetan
藏语
BR
Breton
布列塔尼语
BS
Bosnian
波斯尼亚语
CA
Catalan, Valencian
加泰罗尼亚语、瓦伦西亚语
CE
Chechen
车臣语
CH
Chamorro
查莫罗语
CO
Corsican
科西嘉语
CR
Cree
克里语
CS
Czech
捷克语
CU
Church Slavic, Old Slavonic, Church Slavonic, Old Bulgarian, Old Church Slavonic
教会斯拉夫语、旧斯拉夫语、教会斯拉夫语、旧保加利亚语、旧教会斯拉夫语
CV
Chuvash
丘瓦士语
CY
Welsh
威尔士语
DA
Danish
丹麦语
DE
German
德文
DV
Divehi, Dhivehi, Maldivian
迪维希语, 迪维希语, 马尔代夫语
DZ
Dzongkha
宗卡语
EE
Ewe
埃维语
EL
Modern Greek
现代希腊语
EN
English
英语
EO
Esperanto
世界语
ES
Spanish, Castilian
西班牙语、卡斯蒂利亚语
ET
Estonian
爱沙尼亚语
EU
Basque
巴斯克语
FA
Persian
波斯语
FF
Fulah
富拉语
FI
Finnish
芬兰语
FJ
Fijian
斐济语
FO
Faroese
法罗语
FR
French
孟加拉语
FY
Western Frisian
西弗里斯兰语
GA
Irish
爱尔兰语
GD
Gaelic, Scottish Gaelic
盖尔语、苏格兰盖尔语
GL
Galician
加利西亚语
GN
Guaraní
瓜拉尼语
GU
Gujarati
古吉拉特语
GV
Manx
马恩岛语
HA
Hausa
豪萨语
HE
Modern Hebrew
现代希伯来语
HI
Hindi
印地语
HO
Hiri Motu
希里莫图语
HR
Croatian
克罗地亚语
HT
Haitian, Haitian Creole
海地语,海地克里奥尔语
HU
Hungarian
匈牙利语
HY
Armenian
亚美尼亚语
HZ
Herero
赫雷罗语
IA
Interlingua (International Auxiliary Language Association)
国际辅助语言协会(Interlingua)
ID
Indonesian
印度尼西亚语
IE
Interlingue, Occidental
英特林格语,西方
IG
Igbo
伊博语
II
Sichuan Yi, Nuosu
四川彝语、诺苏语
IK
Inupiaq
伊努皮亚克语
IO
Ido
伊多语
IS
Icelandic
冰岛语
IT
Italian
孟加拉语
IU
Inuktitut
伊努克语
JA
Japanese
斐济语
JV
Javanese
爪哇语
KA
Georgian
格鲁吉亚语
KG
Kongo
康戈语
KI
Kikuyu, Gikuyu
基库尤语、吉库尤语
KJ
Kwanyama, Kuanyama
昆亚马语,昆亚马语
KK
Kazakh
哈萨克语
KL
Kalaallisut, Greenlandic
Kalaallisut, 格陵兰岛语
KM
Central Khmer
中高棉语
KN
Kannada
卡纳达语
KO
Korean
韩国语
KR
Kanuri
卡努里语
KS
Kashmiri
克什米尔语
KU
Kurdish
库尔德语
KV
Komi
科米语
KW
Cornish
粟特语
KY
Kirghiz, Kyrgyz
柯尔克孜语、吉尔吉斯语
LA
Latin
拉丁语
LB
Luxembourgish, Letzeburgesch
卢森堡语、莱兹堡语
LG
Ganda
甘达语
LI
Limburgish, Limburgan, Limburger
林堡语、林布尔根语、林堡人语
LN
Lingala
林加拉语
LO
Lao
老挝语
LT
Lithuanian
立陶宛语
LU
Luba-Katanga
Luba-Katanga
LV
Latvian
拉脱维亚语
MG
Malagasy
马达加斯加语
MH
Marshallese
马绍尔语
MI
Māori
毛利语
MK / SL
Macedonian
马其顿语
ML
Malayalam
马拉雅拉姆语
MN
Mongolian
蒙古语
MO
Moldavian
摩尔达维亚语
MR
Marathi
马拉地语
MS
Malay
马来语
MT
Maltese
马耳他语
MY
Burmese
缅甸语
NA
Nauru
瑙鲁语
NB
Norwegian Bokmål
挪威语的Bokmål
ND
North Ndebele
北恩德贝勒语
NE
Nepali
尼泊尔语
NG
Ndonga
恩东加语
NL
Dutch, Flemish
荷兰语、弗拉芒语
NN
Norwegian Nynorsk
挪威尼诺斯克语
NO
Norwegian
挪威语
NR
South Ndebele
南恩德贝勒语
NV
Navajo, Navaho
纳瓦霍语、纳瓦霍语
NY
Chichewa, Chewa, Nyanja
奇切瓦语、切瓦语、尼安贾语
OC
Occitan (after 1500)
奥克语(1500年后)
OJ
Ojibwa
奥吉布瓦语
OM
Oromo
奥罗莫语
OR
Oriya
奥里亚语
OS
Ossetian, Ossetic
奥塞梯语,奥塞梯语
PA
Panjabi, Punjabi
潘贾比语、旁遮普语
PI
Pāli
帕利语
PL
Polish
孟加拉语
PS
Pashto, Pushto
普什图语,普什图语
PT
Portuguese
孟加拉语
QU
Quechua
克丘亚语
RM
Romansh
罗曼什语
RN
Rundi
伦迪语
RO
Romanian, Moldavian, Moldovan
罗马尼亚语、摩尔达维亚语、摩尔多瓦语
RU
Russian
刚果语
RW
Kinyarwanda
基尼亚卢旺达语
SA
Sanskrit
梵语
SC
Sardinian
萨丁尼亚语
SD
Sindhi
辛迪语
SE
Northern Sami
北萨米语
SG
Sango
桑戈语
SH
Serbo-Croatian
塞尔维亚-克罗地亚语
SI
Sinhala, Sinhalese
僧伽罗语,僧伽罗人
SK
Slovak
斯洛伐克语
SL
Slovene
斯洛维尼亚语
SM
Samoan
萨摩亚语
SN
Shona
绍纳语
SO
Somali
索马里语
SQ
Albanian
阿尔巴尼亚语
SR
Serbian
塞尔维亚语
SS
Swati
斯瓦提语
ST
Southern Sotho
南索托语
SU
Sundanese
巽他语
SV
Swedish
瑞典语
SW
Swahili
斯瓦希里语
TA
Tamil
孟加拉语
TE
Telugu
泰卢固语
TG
Tajik
塔吉克语
TH
Thai
泰语
TI
Tigrinya
提格里尼亚语
TK
Turkmen
土库曼语
TL
Tagalog
塔加洛语
TN
Tswana
茨瓦纳语
TO
Tonga (Tonga Islands)
汤加语(汤加群岛
TR
Turkish
土耳其语
TS
Tsonga
桑加语
TT
Tatar
鞑靼语
TW
Twi
特维语
TY
Tahitian
塔希提语
UG
Uighur, Uyghur
维吾尔语,维吾尔语
UK
Ukrainian
乌克兰语
UR
Urdu
乌尔都语
UZ
Uzbek
乌兹别克语
VE
Venda
文达语
VI
Vietnamese
孟加拉语
VO
Volapük
孟加拉语
WA
Walloon
瓦隆语
WO
Wolof
刚果语
XH
Xhosa
绍萨语
YI
Yiddish
伊德语
YO
Yoruba
约鲁巴语
ZA
Zhuang, Chuang
壮族、川族
ZH
Chinese
汉语
ZU
Zulu
祖鲁语
ISO-639-2和ISO-639-3:
参考:
百度百科

 

<think>首先,用户的问题是:“请问OBS桶访问 使用AK SK 配置方法”。这涉及到使用Access Key(AK)和Secret Key(SK)来访问华为云的OBS桶。 从系统指令中,我需要: - 使用中文回答。 - 结构清晰,帮助用户逐步解决问题。 - 保证回答真实可靠。 - 在回答中引用的段落末尾自然地添加引用标识。 - 生成相关问题。 - 对于数学表达式,使用$...$或$$...$$格式,但这里可能不涉及数学内容,所以可能不需要。 - 参考提供的引用内容。 提供的引用包括: - [^1]: 关于在Windows和Linux下使用ObsClient时内存溢出的问题。 - [^2]: 华为云创建访问密钥(AK和SK)的说明。 - [^3]: 一个Python代码示例,用于签名。 - [^4]: 华为云OBS桶授权登录链接。 用户意图是获取关于OBS桶访问使用AK和SK的配置方法。所以,我需要基于这些引用,提供一个清晰的步骤指南。 关键点: - AK和SK是用于身份验证的凭证。 - 引用[2]提到如何在华为云创建AK和SK。 - 引用[3]展示了一个签名示例,但用户可能不需要代码,除非他们问。 - 引用[1]和[4]提供了一些上下文。 回答结构: 1. **介绍**:简要解释AK和SK是什么,以及它们在OBS访问中的作用。 2. **步骤**:逐步说明如何配置AK和SK来访问OBS桶。 - 创建AK和SK(参考引用[2])。 - 使用AK和SK在代码中配置ObsClient(参考引用[1])。 - 可能涉及签名过程(参考引用[3])。 3. **代码示例**:提供一个简单的代码示例,展示如何初始化ObsClient。 4. **注意事项**:提到引用[1]中提到的内存溢出问题,以避免常见错误。 5. **结尾**:自然地添加引用标识。 6. **生成相关问题**:在最后添加相关问题。 由于用户指定了“配置方法”,我应该专注于配置步骤。 步骤大纲: 1. **创建AK和SK**:从华为云控制台创建访问密钥。 2. **配置环境**:确保AK、SK和Endpoint正确。 3. **代码实现**:在应用程序中使用ObsClient初始化。 4. **测试和验证**:运行代码并检查是否正常工作。 代码示例:使用Python或Java,因为引用[1]提到ObsClient,可能是Java或Python。 引用[1]中的代码是Java的:`ObsClient obs = new ObsClient(AK, SK, ENDPOINT);` 引用[3]是Python的签名示例。 我应该提供Java和Python的示例,以覆盖常见语言。 在回答中,引用标识: - 当提到创建AK和SK时,添加[^2]。 - 当提到ObsClient初始化时,添加[^1]。 - 当提到签名时,添加[^3]。 - 当提到OBS桶授权时,添加[^4]。 生成相关问题:基于主题,提出相关问题,如: 1. 如何管理多个AK/SK凭证? 2. OBS访问的安全最佳实践? 3. 如何处理内存溢出问题(如引用[1])? 4. OBS桶的其他访问方法? 确保回答真实可靠:基于提供的引用和一般知识。华为云文档是可靠的来源。 最终回答结构: - 标题:OBS桶访问使用AK和SK的配置方法 - 步骤说明 - 代码示例 - 注意事项 - 引用标识 - 相关问题</think>### OBS桶访问使用AK和SK的配置方法 华为云对象存储服务(OBS)通过访问密钥(AK和SK)提供安全的身份验证机制,用于管理或访问OBS桶。AK(Access Key ID)是公开标识,SK(Secret Access Key)是私密凭证,必须妥善保管。以下是基于华为云官方文档的逐步配置方法,确保真实可靠。整个过程分为创建密钥、配置环境和代码实现三个步骤。 #### 步骤1: 创建AK和SK 在华为云控制台生成AK和SK,这是访问OBS桶的基础凭证。操作步骤如下: 1. 登录华为云控制台([https://console.huaweicloud.com/](https://console.huaweicloud.com/))。 2. 导航到“我的凭证” > “访问密钥”,点击“新增访问密钥”。 3. 输入凭证名称(建议格式如“OBS-账号名”,便于管理多个密钥),然后下载或复制生成的AK和SK。 - 注意:SK仅在创建时显示一次,需立即保存,否则需重新生成[^2]。 4. 确保AK和SK权限已关联到目标OBS桶(通过“统一身份认证服务”授权桶访问策略)[^4]。 #### 步骤2: 配置环境 在使用AK和SK前,需在代码环境中设置以下参数: - **AK**:您的Access Key ID。 - **SK**:您的Secret Access Key。 - **ENDPOINT**:OBS桶的终端节点(Endpoint),格式为`https://obs.region-id.myhuaweicloud.com`(替换`region-id`为实际区域,如`cn-north-4`)。 - 确保开发环境依赖库正确安装(如Java需`esdk-obs-java`包,Python需`esdk-obs-python`包)。 注意事项: - 在Linux环境下,需检查内存管理(如JVM堆大小),避免因资源泄漏导致内存溢出(参考常见问题[^1])。 - AK/SK不应硬编码在代码中,建议使用环境变量或配置文件存储。 #### 步骤3: 代码实现 根据您的开发语言,初始化ObsClient以访问OBS桶。以下是Java和Python的示例代码: ##### Java示例 使用`ObsClient`类初始化,并执行简单操作(如列出桶内对象): ```java import com.obs.services.ObsClient; import com.obs.services.model.ObjectListing; public class OBSSample { public static void main(String[] args) { String ak = "您的AK"; // 替换为实际AK String sk = "您的SK"; // 替换为实际SK String endpoint = "https://obs.cn-north-4.myhuaweicloud.com"; // 替换为实际Endpoint try (ObsClient obsClient = new ObsClient(ak, sk, endpoint)) { // 示例:列出默认桶内对象 ObjectListing objectListing = obsClient.listObjects("your-bucket-name"); System.out.println("Objects in bucket: " + objectListing.getObjects()); } catch (Exception e) { e.printStackTrace(); } } } ``` - **说明**:此代码在Windows和Linux均适用,但Linux需监控内存使用(如通过`-Xmx`参数限制JVM堆大小)[^1]。 ##### Python示例 使用`ObsClient`初始化,并生成请求签名(签名过程可简化访问): ```python from obs import ObsClient # 初始化ObsClient ak = &#39;您的AK&#39; # 替换为实际AK sk = &#39;您的SK&#39; # 替换为实际SK endpoint = &#39;https://obs.cn-north-4.myhuaweicloud.com&#39; # 替换为实际Endpoint obs_client = ObsClient(access_key_id=ak, secret_access_key=sk, server=endpoint) # 示例:上传文件到OBS桶 resp = obs_client.putFile(&#39;your-bucket-name&#39;, &#39;object-key&#39;, &#39;local-file-path&#39;) if resp.status < 300: print("Upload successful!") else: print("Error:", resp.errorMessage) ``` - **签名说明**:对于复杂请求(如POST上传),需基于SK生成签名(参考签名算法[^3]),但ObsClient SDK已内置签名逻辑,通常无需手动处理。 #### 注意事项 - **安全最佳实践**:AK/SK应定期轮换,避免泄露。测试时使用临时凭证。 - **跨平台兼容性**:代码在Windows和Linux运行时,确保依赖库版本一致(如Java SDK在Linux需额外监控内存)[^1]。 - **错误处理**:常见错误包括无效Endpoint或SK泄露,可通过华为云日志服务排查。 - **参考文档**:更多详情见华为云OBS开发指南([https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0401.html](https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0401.html))。 通过以上步骤,您可快速配置AK/SK访问OBS桶。如需进一步帮助,请提供具体语言或场景细节[^2][^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜流冰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值