相关疑难解决方法(0)

有效的Unicode字符串可以包含FFFF吗?Java/CharacterIterator坏了吗?

以下是java.text.CharacterIterator文档的摘录:

  • interface定义了一个用于文本双向迭代的协议.迭代器迭代有界字符序列.[...]方法previous()next()用于迭代.它们返回DONE[...],表示迭代器已到达序列的末尾.

  • static final char DONE:迭代器到达文本的结尾或开头时返回的常量.值是\uFFFF,不是任何有效的Unicode字符串中不应出现的"非字符"值.

斜体部分是我无法理解的部分,因为从我的测试来看,它看起来像Java String当然可以包含\uFFFF,并且似乎没有任何问题,除了明显的规定的CharacterIterator遍历习惯因为打破因为假阳性(例如,当它没有真正"完成"时next()返回'\uFFFF' == DONE).

这里有一个片段来说明"问题"(另见ideone.com):

import java.text.*;
public class CharacterIteratorTest {

    // this is the prescribed traversal idiom from the documentation
    public static void traverseForward(CharacterIterator iter) {
       for(char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) {
          System.out.print(c);
       }
    }

    public static void main(String[] args) {
        String …
Run Code Online (Sandbox Code Playgroud)

java string unicode

24
推荐指数
2
解决办法
8296
查看次数

String.Split最好的字符是什么?

免责声明:我知道在99%的情况下,您不应该在串联字符串中"序列化"数据.

你们在众所周知的情况下使用了什么样的字符:

string str = userId +"-"+ userName;
Run Code Online (Sandbox Code Playgroud)

在大多数情况下,我已经回到了| (管道)但是,在某些情况下,用户甚至会输入.那么像non(ALT + 9999)这样的"不可打字"字符怎么样?

c# string

3
推荐指数
2
解决办法
4391
查看次数

标签 统计

string ×2

c# ×1

java ×1

unicode ×1