草庐IT

unsigned-char

全部标签

objective-c - 如何在 Swift 中将 Int 转换为 unsigned short

我在Swift项目的Objective-C库中有以下函数:-(DDHotKey*)registerHotKeyWithKeyCode:(unsignedshort)keyCodemodifierFlags:(NSUInteger)flagstask:(DDHotKeyTask)task{//...}我正在尝试通过以下代码从Swift调用此函数:hotKeyCenter.registerHotKeyWithKeyCode(kVK_ANSI_V,modifierFlags:NSEventModifierFlags.ControlKeyMask.rawValue,task:{_in//...

Swift switch char{ case "\u{e2} :

letsplitLines=line.split(separator:"\u{e2}")case"\u{e2}":print("FoundBadReturn")letnewText=text.replacingOccurrences(of:"\u{e2}",with:"\n")我正在UITextView中处理RTF文档。我正在尝试使用\n更改包含\u{e2}字符的字符串这些行似乎都不适用于字符串 最佳答案 调试器打印具有误导性。该字符是"\u{2028}"'LineSeparator'而不是"\u{e2}"。调试器这样做是因为0xE

swift - 从 Unsigned 类型到 Signed 类型的安全转换

有letfinalValueUnsigned64:UInt64我想把它转换成Int64letfinalValue=Int64(finalValueUnsigned64)但是初始化器不会抛出异常,所以我可以处理值太大而无法进行转换的情况。如何将任何无符号转换为有符号,并提供是否可以转换的一些反馈? 最佳答案 您可以使用Int64(exactly:)初始化程序来检查值是否可以转换。如果无法准确表示该值,它将返回nil。例如:Int8(exactly:100)//Optional(100)Int8(exactly:1_000)//nil

ios - 在 swift 中声明 unsigned char 数组

我以前在obj-c中做的事情:unsignedcharcHMAC[CC_SHA1_DIGEST_LENGTH];我在swift中尝试的内容在这里找到unsignedcharinSwift:letcHMAC=[CUnsignedChar](count:CC_SHA1_DIGEST_LENGTH)但是这不会构建,因为调用中的额外参数计数关于如何将第一个代码转换为swift的任何想法? 最佳答案 您正在调用Array构造函数init(count:Int,repeatedValue:T)还有两个错误:您忘记了repeatedValue:参数

从 const char* 转换为 Swift 字符串

我有一个c函数,我从一个返回constchar*的桥接头访问它:constchar*get_c_string();然后我尝试将它转换为Swift字符串:letstr=String.fromCString(UnsafePointer(get_c_string()))print(str)...但它只是打印垃圾:Optional("\u{14}\0\0")我可以找到如何将Swift字符串传递给C而不是相反的方法。如何将constchar*转换为Swift字符串?谢谢! 最佳答案 您的Swift代码是正确的,您可以将其稍微缩短为//Swif

objective-c - Swift 中的 Unsigned Int 到负 Int

我正在处理Pebble加速度计数据,需要将负整数的无符号表示形式转换为正常数字(例如,请注意前两个)。[X:4294967241,Z:4294967202,Y:22][X:4294967278,Z:4294967270,Y:46][X:4294967274,Z:4294967278,Y:26][X:4294967221,Z:85,Y:4294967280][X:4294967247,Z:117,Y:4294967266]使用ObjectiveC,我已经设法通过简单的[numberintValue]做到了这一点。但是,使用Swift我找不到这样做的方法。我试过Int(number),但我

swift - 在 Swift 中将字符串转换为 UnsafeMutablePointer<char_t>

我正在使用第三方cAPI我正在尝试使用一个简单的字符串调用其中一个函数。像这样:some_c_func("aString");我遇到构建错误:Type'UnsafeMutablePointer'doesnotconformtoprotocol'StringLiteralConvertible'我看到了一些关于在String或类似转换上使用utf8的建议,这些建议已经接近尾声,但出现以下错误:some_c_func("aString".cStringUsingEncoding(NSUTF8StringEncoding));'UnsafePointer'isnotconvertibleto

c - 在 Swift 中获取指向 C char 数组的指针

A有这样的结构(在mongodbc驱动程序的bson.h中定义):typedefstruct{uint32_tdomain;uint32_tcode;charmessage[504];}bson_error_t;在Swift中,我有一个指向这个结构的指针,如下所示:err:UnsafePointer=...现在无论我做什么,我都无法将message[504](Swift将其视为(Int8,Int8,Int8,...504次)的元组)转换为char*在String.fromCString()中使用它。甚至可以在Swift中做到这一点吗?作为临时解决方案,我在单独的.c文件中创建了一个辅助

ios - 我正在使用 String(char) 创建 String 但获得了可选值,如何删除它?

我的输出类似于“Optional(\"A\"),但我只想要字符串“A”。我必须使用此字符对我的数组应用过滤器。letchar=selectedSection.characters.lastletstr=String(char)letarray=result?.objectForKey("GetClassPeriodList")as!NSArrayletfiltered=array.filter{return($0["Section_Code"]as!String)==str}print(filtered) 最佳答案 正如@marti

C++ 编译错误std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >的两种解决办法

目录1,错误描述2,解决办法3,一种特殊情况1,错误描述C++程序编译阶段有个常见的错误,std::__cxx11::basic_***,可能是string,list等,也许程序在其他环境完成编译,在运行环境报错,也许是正在编译阶段报错。简单来说,这个错误的原因是因为C++不同版本对string、list的定义不同。比如Ubuntu环境,如果程序或依赖编译时版本和运行时gcc/g++版本不一致,就会报这个错误。2,解决办法通过升级或降级编译器版本,使编译环境和运行环境一致。把源码放到实际运行环境重新编译。在cpp文件使用宏_GLIBCXX_USE_CXX11_ABI=0,禁用C++11特性3,