第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用 UTF-8 字符串從 Go 調(diào)用 Objective-C

使用 UTF-8 字符串從 Go 調(diào)用 Objective-C

Go
Qyouu 2022-10-10 18:01:40
我正在嘗試從 Go 調(diào)用一個(gè) Objective-C 函數(shù);這很好用,但我的問題出現(xiàn)在 UTF-8 字符串上。我不知道如何NSString*在 Go 代碼中創(chuàng)建一個(gè),或者如何通過char*.package main/*#cgo CFLAGS: -x objective-c#cgo LDFLAGS: -framework Cocoa#import <Cocoa/Cocoa.h>void printUTF8(const char * iconPath) {    NSLog(@"%s", iconPath);}*/import "C"import (    "fmt"    "unsafe")func main() {    goString := "test 漢字 test\n"    fmt.Print(goString)    cString := C.CString(goString)    defer C.free(unsafe.Pointer(cString))    C.printUTF8(cString)}正如預(yù)期的那樣,輸出是:測試漢字測試測試 êo¢?≠ó 測試誰能幫我這個(gè)?
查看完整描述

1 回答

?
梵蒂岡之花

TA貢獻(xiàn)1900條經(jīng)驗(yàn) 獲得超5個(gè)贊

在您的 Objective-C 代碼中,您需要:


void printUTF8(const char * iconPath) {

    // NSLog(@"%s", iconPath);

    NSLog(@"%@", @(iconPath)); // "test 漢字 test"

}

使用裝箱表達(dá)式@(iconPath)可確保創(chuàng)建有效的 NSString。例如,如果UTF-8傳遞了錯(cuò)誤的序列(例如嘗試"Fr\xe9d\xe9ric"),它將安全地渲染到null.


查看完整回答
反對(duì) 回復(fù) 2022-10-10
  • 1 回答
  • 0 關(guān)注
  • 86 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)