【发布时间】:2017-04-04 20:53:38
【问题描述】:
我要转换为字符数组的字符串是ষ্টোর,它是Unicode和孟加拉语单词。
问题是当我在 Visual Studio 中转换它时,它返回 6 个字符,但是当我在 Android Studio 中转换它时然后显示 5 个字符。
在 VS 我使用 char[] arrayOfChars = someString.ToCharArray(); 和 Android Studio char[] arrayOfChars = someString.toCharArray();
N:B:我的 Android Studio IDE 和项目编码是 UTF-8。我期待与 Android Studio 中的 Visual Studio 相同的结果。
【问题讨论】:
-
您是否使用不同的运行时?
-
@minus 我不确定运行时。我只是在 VS 和 app studio 中编译它并得到 2 个不同的结果。如果您想谈论操作系统,那么我在 Linux Mint 中运行 App Studio,在 Windows 10 中运行 VS。
-
我假设您在 Android Studio IDE 中使用 Java,在 Visual Studio 中使用 C#。你需要更清楚地说明这一点。如果您查看此图表symbolcodes.tlt.psu.edu/bylanguage/bengalichart.html,您会发现这些字符是应用于另一个字母的变音符号。 2507 包含与 2503 和 2494 表示的相同的两个变音符号,因此 2507 更有效但基本相同。两者都是从 UTF-16 转换而来的,所以也许它们只是以不同的方式转换为 UTF-8。
-
我对这个问题和所有答案都非常着迷,这些答案显示了将符号与字节表示匹配的看似微不足道的问题有多深。我知道这一切(理论上),但我从来没有机会在实践中看到它。这就像只在图片中看到一幅画后去博物馆看一幅画。谢谢大家!
标签: java c# string visual-studio android-studio