- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个像这样的 C 结构:
struct HFSUniStr255 {
UInt16 length;
UniChar unicode[255];
};
我已经按照预期的方式映射了它:
public class HFSUniStr255 extends Structure
{
public UInt16 length; // UInt16 is just an IntegerType with length 2 for convenience.
public /*UniChar*/ char[] unicode = new char[255];
//public /*UniChar*/ byte[] unicode = new byte[255*2];
//public /*UniChar*/ UInt16[] unicode = new UInt16[255];
public HFSUniStr255()
{
}
public HFSUniStr255(Pointer pointer)
{
super(pointer);
}
}
如果我使用这个版本,我会将字符串的每个第二个字符放入我的 char[] 中(“aits D”代表“Macintosh HD”。)我假设这与 64 位有关平台和 JNA 将值映射到 32 位 wchar_t,然后在将它们复制回来时砍掉每个 wchar_t 上的高 16 位。
如果我使用 byte[] 版本,我会得到使用 UTF-16LE 字符集正确解码的数据。
如果我使用 UInt16[] 版本,我会为每个字符获得正确的代码点,但随后将它们转换回字符串会很不方便。
有什么方法可以将我的类型定义为 char[],并使其正确转换吗?
最佳答案
我不这么认为,基本上是因为 char 是解码后的字节序列。
这就是为什么你的字节版本可以像手动解码一样工作
如果你想坚持使用字符,我建议:
不幸的是,我不知道有什么简单的方法可以做到这两者中的任何一个。
我的意见:坚持使用byte[]
版本
顺便问一下,您是如何创建 UInt16
类的?
关于java - Mac OS X 上 UniChar 的正确 JNA 映射是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3974062/
我被触发了这个问题,因为我在这个答案的 NSString 上使用了一个类别方法来计算特定字符的出现次数: https://stackoverflow.com/a/15947190/472599 这个方
我有一个从字符爸获得的int值,即29240。我可以将此数字转换为十六进制,但是我不知道如何仅用NSString在int 29240中写出汉字。 基本上,我所做的是: NSString * s = @
这个问题在这里已经有了答案: Objective c doesn't like my unichars? (3 个答案) 关闭 9 年前。 我正在尝试将一些特定字符添加到我的 unichar rus
我有一个快速问题,但我在任何地方都找不到。我将文本字段限制为仅包含数字、小数和负号。但这样做时,我关闭了返回键。有人知道iOS返回键的unichar数字吗?我以为是十三,但这是行不通的。 - (BO
我使用以下简单的方法来显示我的 NSString 中的每个字母/字符,并计算我的 NSString 是否少于 14 个字母,然后显示来自的其余字母Unichar 数组,总共 14 个字母。 这里是一个
我正在尝试从一个我不知道缓冲区长度的 const unichar 缓冲区创建一个 NSString 对象。 我想使用 NSString stringWithCharacters: length: 方法
我有两个简单的常量: NSString 和 unichar, 定义如下: static NSString * const string = @"\u2022"; static unichar cons
wxString如何转UniChar? 最佳答案 您必须检查 wxMBConv 类。 所有这些转换的基类是 wxMBConv 类(它本身实现了标准的 libc 语言环境转换)。派生类包括 wxMBCo
我在这里遇到了一些奇怪的问题。代码如下 NSMutableString *unicodeString = [NSMutableString string]; for (NSUInteger i = 0
我目前正在使用 CoreGraphics 和 CoreText 编写一个简单的位图字体生成器。我正在检索字体的字距调整表: CFDataRef kernTable = CTFontCopyTable(
有一个 NSString 方法 -characterAtIndex: 返回一个 unichar。 (unichar)characterAtIndex:(NSUInteger)index 我想知道这个显
我使用来自 NSString 对象的“characterAtIndex:”创建了一个 unicode 字符数组。 我想把数组中的字符重新拼成一个完整的字符串。 有什么方法可以把这个unicahr数组转
如何在 Swift 中定义一个 unichar 类型的变量,就像在 Objective-C 中定义 '\0' '\n' 一样? 在 Swift 中, func previousCharacter()
我在尝试从 unichar 转换为 int 时遇到了一个奇怪的问题: 我有一个包含一些数字的字符串,例如 @"12345"。我想单独保存这个数字,这意味着我想要 5 个数字,1、2、3,...。现在,
我想做这样的事情: const UniChar KA = 'か'; 但是 XCode 吐回“多字符常量”。 我尽量避免使用 NSString 的 +characterAtIndex...我需要它来遍历
我有一个 NSString 对象,想把它变成 unichar。 int decimal = [[temp substringFromIndex:2] intValue]; // decimal = 1
我的自定义对象包含一个 unichar 原语数组。但是 NSCoder 中没有 encodeUnichar:ForKey 方法。我的解决方案是将二维 unichar 数组转换为 NSString,然后
在我的应用程序中,我想显示带字符串的表情符号图标,但它给我语法错误。 成功显示在字符串下方 unichar character = 0xE116; self.uniCharStr =[NSString
我正在尝试使用二元运算符来比较两个值: character = (xxx as NSString).characterAtIndex(2) if character == "1" { //do
如何将 unichar 字符附加到 NSMutableString? unichar c = 'T'; NSMutableString *s = [NSMutableString stringWith
我是一名优秀的程序员,十分优秀!