相关疑难解决方法(0)

UTF-8和Unicode,0xC0和0x80是什么?

我在过去几天一直在阅读有关Unicode和UTF-8的内容,我经常遇到类似于此的逐点比较:

int strlen_utf8(char *s) 
{
  int i = 0, j = 0;
  while (s[i]) 
  {
    if ((s[i] & 0xc0) != 0x80) j++;
    i++;
  }
  return j;
}
Run Code Online (Sandbox Code Playgroud)

有人可以澄清与0xc0的比较并检查它是否是最重要的位?

谢谢!

编辑:ANDED,而不是比较,使用了错误的单词;)

unicode utf-8

49
推荐指数
1
解决办法
2万
查看次数

如何在C中开始使用ICU

我需要在C中处理unicode字符串.我听说ICU是适当的库集,但我没有任何运气入门.

所以我的问题是:任何人都可以提供一个关于在C中使用带ICU的unicode字符串的优秀初学者教程的链接

PS我已经安装了libicu44(在Ubuntu 11.04下).

c unicode icu

8
推荐指数
1
解决办法
4190
查看次数

Java String中的字符数

可能重复:
Java:使用unicode overline显示平方根时的字符串长度?

如何获取String中的Unicode字符数?

给出一个char[]泰国字符:

[?, ?, ?, ?, ?, ?, ?]
Run Code Online (Sandbox Code Playgroud)

这在String中出现:อภิชาติ

String.length() 返回7.我知道(技术上)有7个字符,但是我需要一个能够返回5的方法.这就是屏幕上显示的字符空间的确切数量.

java unicode utf-8 thai

4
推荐指数
1
解决办法
3370
查看次数

当字符串中存在非英文字符时,Strlen 函数给出错误的长度

我有一个程序也接受非英语字符作为输入字段。因为我们使用strlen,所以当存在非英文字符时,在计算字符串长度时,它无法给出预期的长度。对于输入nova,输出是4,而对于输入\xc3\xb1ova,输出是5,而输出应该是4

\n
    \n
  1. strlen("nova")=4
  2. \n
  3. strlen("\xc3\xb1ova")=5
  4. \n
\n

在第二种情况下,我期望输出为4相反。

\n

c encoding string-length strlen non-english

3
推荐指数
1
解决办法
122
查看次数

如何通过字符比较执行Unicode识别字符?

我的申请有一个国际目标,来自许多国家的人都会使用它,他们将使用自己的语言输入文本(我必须处理的文本).

例如,如果我必须使用字符比较来列出两个字符串的差异,那么这个简单的C#代码就足够了,或者我错过了什么?

var differences = new List<Tuple<int, char, char>>();
for (int i=0; i < myString1.Length; ++i)
{
    if (myString1[i] != myString2[i])
        differences.Add(new Tuple<int, char, char>(i, myString1[i], myString2[i]));
}
Run Code Online (Sandbox Code Playgroud)

给定代码有效以不同语言执行此任务(我的用户不限于美国字符集)?

.net c# unicode

2
推荐指数
1
解决办法
3983
查看次数

标签 统计

unicode ×4

c ×2

utf-8 ×2

.net ×1

c# ×1

encoding ×1

icu ×1

java ×1

non-english ×1

string-length ×1

strlen ×1

thai ×1