Encoding 将扩展ASCII字符码转换为utf-8字节码

Encoding 将扩展ASCII字符码转换为utf-8字节码,encoding,utf-8,character-encoding,char,ascii,Encoding,Utf 8,Character Encoding,Char,Ascii,我正试图找出如何对字符串进行url编码,一个字符一个字符地编码,而我只有扩展的ASCII码 例如,对于128以下的代码,这非常简单:char“”的代码是63,在基数16中是3F,因此字符串“”的url编码是“%3F” 对于>127个字符代码,是否可以执行相同的操作?例如,“á”的代码是225(基数16中的E1)。是否可以从这里得到字节%C3%A1,它构成了“á”的url编码?如果是,需要执行哪些操作 编辑:我应该更具体一点,字符集是(ISO拉丁-1)。我似乎还应该更清楚地说明,这个问题是关于以编

我正试图找出如何对字符串进行url编码,一个字符一个字符地编码,而我只有扩展的ASCII码

例如,对于128以下的代码,这非常简单:char“”的代码是63,在基数16中是3F,因此字符串“”的url编码是“%3F”

对于>127个字符代码,是否可以执行相同的操作?例如,“á”的代码是225(基数16中的E1)。是否可以从这里得到字节%C3%A1,它构成了“á”的url编码?如果是,需要执行哪些操作

编辑:我应该更具体一点,字符集是(ISO拉丁-1)。我似乎还应该更清楚地说明,这个问题是关于以编程方式进行转换的公式/方法,而不是关于如何使用某种语言的库对字符进行URL编码。

如果您的“扩展ASCII”编码是ISO-8859-1,那么您很幸运。Unicode的前255个Unicode点(非UTF-8编码)遵循ISO-8859-1。也就是说,
a
==
U+00E1

如果您有任何其他编码,那么您就不走运了。字符的映射是任意的,因此需要罗塞塔石,而不是计算

一旦有了Unicode点,就可以使用中的规范相对容易地将其编码为UTF-8。如果您的问题中没有定义编程语言,那么在这里尝试详细说明这种转换就超出了范围

百分比编码则是将百分比编码规范应用于UTF-8字符的问题


幸运的是,大多数编程语言都有用于这种转换的内置或第三方库

“我只有扩展的ASCII码”:你是对的;“扩展ASCII”没有多大意义。具体的编码是什么?您可能正在使用编程语言和一些库。哪个?对不起,我对问题进行了编辑,以使其更具体地使用字符编码。此外,问题不在于语言或图书馆。有些库必须在不使用其他库的情况下实现这种转换,我对它们是如何实现的感兴趣。我不会说完全是出于运气。如果您有权访问,您可以通过编程将深奥的编码转换为utf-8。该func通常在C/shell/python/php/etc.中提供。@MikeFrysinger-OP了解ASCII可以轻松映射到UTF-8,并想知道他/她如何以编程方式将其他字符映射到UTF-8,可能没有库。正如我在上面的最后一段中所说,大多数语言都支持这一点,包括Unicode字符串到百分比编码函数,但这不是问题所在。太棒了,我的字符集是ISO拉丁-1,我想这就是您提到的ISO-8859-1。我会看看你提供的链接