-1

什么是UTF-8编码?我用谷歌搜索但无法理解它是什么。请用简单的语言和例子解释。

接下来我需要对一个字符串进行UTF-8编码。我得到了openssl,但它只转换base64格式。

#include<stdio.h>

struct some
{
    char string[40];
};

int main() 
{
    string *s;
    char str[9];
    gets(str);
    strcpy(s,str);
    /*Now how to get emcoded form of "Hello" in UTF-8*/
    /*printf("encoded data");
    return 0;
}

这些字符串可用,runtime所以不要对即将发生的事情做任何事情。编码后需要将它们存储在DB.

我检查了它SO本身,但在 中找不到任何来源c,它在.net java c#. 我正在使用linux Redhat.

4

1 回答 1

2

编码描述了哪些字节或字节序列对应于哪些字符。ASCII 是最简单的编码。在 ASCII 中,单个字节值对应于单个字符。不幸的是,世界上有超过 255 个字符。UTF-8 可能是最常见的编码格式,因为它与英文 ASCII 兼容,但也允许使用国际字符。如果你用 C 写一个标准的英文字符串,它已经是 UTF-8。“你好” == “你好”

Joel 有一篇关于这个主题的精彩文章,名为:每个软件开发人员绝对、肯定必须了解 Unicode 和字符集的绝对最小值(没有借口!)

它很好地解释了 ASCII、unicode 和 UTF8 字符串编码。

在 UTF-8 中,从 0 到 127 的每个代码点都存储在一个字节中。只有 128 及以上的代码点使用 2、3,实际上最多 4 个(不是 6 个,由 R. 更正)字节存储。

于 2013-08-27T19:42:07.570 回答