【问题标题】:Separate string into strings including codepoints that equate to multiple characters将字符串分成字符串,包括等同于多个字符的代码点
【发布时间】:2018-04-03 18:54:19
【问题描述】:

我有一个带有表情符号的字符串:"test ????"。当我在其上使用 .toCharArray() 时,我得到"t", "e", "s", "t", " ", "?", "?"。我期待"t", "e", "s", "t", " ", "????"。我如何在 Java 中实现这一点?

【问题讨论】:

  • 我相信你需要使用不同于默认 UTF8 的东西才能看到。
  • 单个字符不能包含表情符号或任何其他补充代码点,因此您需要一个整数数组。
  • 是的,我知道这就是我说或字符串的原因。
  • 我不认为该问题的答案令我满意。尽管使用那里提供的一些信息,我找到了解决方案。 (但它仍然需要工作)

标签: java arrays string emoji


【解决方案1】:

因为 Java 字符不能包含等同于我使用的多个字符的代码点(在本例中为表情符号)

string.codePoints().mapToObj(Character::toChars).map(chars -> CharBuffer.wrap(chars).toString())

改为获取包含每个代码点字符的字符串流。

【讨论】:

    猜你喜欢
    • 2015-10-11
    • 1970-01-01
    • 1970-01-01
    • 2019-03-14
    • 1970-01-01
    • 2020-01-15
    • 2020-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多