最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

golang替換無(wú)法顯示的特殊字符(\u0000,?\000,?^@)

 更新時(shí)間:2022年04月19日 08:57:05   作者:sndapk  
這篇文章主要介紹了golang替換無(wú)法顯示的特殊字符,包括的字符有\(zhòng)u0000,?\000,?^@等,下文詳細(xì)資料,需要的小伙伴可以參考一下

描述

在linux中獲取進(jìn)程cmdline時(shí)遇到隱藏符號(hào)問題,如下:

[root@vm010066016161 /root]
#cat /proc/45/cmdline
/usr/sbin/sshd-D
[root@vm010066016161 /root]
#cat /proc/45/cmdline -A
/usr/sbin/sshd^@-D^@
[root@vm010066016161 /root]
#cat /proc/45/cmdline | sed -n 'l'
/usr/sbin/sshd\000-D\000$
[root@vm010066016161 /root]

這樣的數(shù)據(jù)直接在終端顯示是沒問題的,但是記錄到日志中,變成:

{"level":"info","ts":1650267870.4412727,"caller":"ssh/manager.go:78","msg":"/usr/sbin/sshd\u0000-D\u0000"}

/usr/sbin/sshd-D

而系統(tǒng)實(shí)際的進(jìn)程啟動(dòng)參數(shù)為:

root         45      1  0 Jan12 ?        00:01:57 /usr/sbin/sshd -D

此時(shí),如果查看切片的內(nèi)容,可以看到包含了無(wú)法顯示的ascii碼,空格碼點(diǎn)變成了0(我們要做的是把這個(gè)替換為十進(jìn)制32對(duì)應(yīng)真實(shí)的空格)

[]byte: [47 117 115 114 47 115 98 105 110 47 115 115 104 100 0 45 68 0]

解決方法一,手動(dòng)處理

這里只貼上主要代碼:

    cmd := fmt.Sprintf("cat /proc/%s/cmdline", pid)
    cmdline, _, err := e.SSHManager.Run(cmd)
    if err != nil {
        e.logger.Error(fmt.Sprintf("pid(%s) CMDLine error[%s]", pid, err.Error()))
        return err
    }

    newByte := make([]byte, 0)
    for _, b := range []byte(cmdline) {
        if b == 0 { //小于32的字符都可以以這樣的方式處理,本次只處理0
            newByte = append(newByte, 32)
        } else {
            newByte = append(newByte, b)
        }
    }
    newResult := strings.TrimSpace(string(newByte)) //結(jié)果的空格不需要

解決方法二,使用bytes庫(kù)(推薦)

    // ...略
    newByte := bytes.ReplaceAll([]byte(cmdline), []byte{0}, []byte{32})
    newByte = bytes.TrimSpace(newByte)
    newResult := string(newByte)

    if len(newResult) > 64 {
        newResult = newResult[:64]
    }
    e.Pids[pid].CMDLine = newResult

到此這篇關(guān)于golang替換無(wú)法顯示的特殊字符(\u0000, \000, ^@)的文章就介紹到這了,更多相關(guān)golang替換字符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • GO語(yǔ)言實(shí)現(xiàn)的端口掃描器分享

    GO語(yǔ)言實(shí)現(xiàn)的端口掃描器分享

    這篇文章主要介紹了GO語(yǔ)言實(shí)現(xiàn)的端口掃描器分享,本文直接給出實(shí)現(xiàn)代碼,代碼中包含大量注釋,需要的朋友可以參考下
    2014-10-10
  • GO語(yǔ)言文件的創(chuàng)建與打開實(shí)例分析

    GO語(yǔ)言文件的創(chuàng)建與打開實(shí)例分析

    這篇文章主要介紹了GO語(yǔ)言文件的創(chuàng)建與打開的具體用法,實(shí)例分析了GO語(yǔ)言文件創(chuàng)建與打開操作中所涉及的函數(shù)具體用法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-12-12
  • Go語(yǔ)言拼接URL路徑的三種方法

    Go語(yǔ)言拼接URL路徑的三種方法

    本文主要介紹了Go語(yǔ)言拼接URL路徑的三種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Go語(yǔ)言Time包的具體使用

    Go語(yǔ)言Time包的具體使用

    Go語(yǔ)言中有關(guān)于時(shí)間和日期的方法都在time包里面,本文主要介紹了Go語(yǔ)言Time包,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • Go語(yǔ)言基礎(chǔ)單元測(cè)試與性能測(cè)試示例詳解

    Go語(yǔ)言基礎(chǔ)單元測(cè)試與性能測(cè)試示例詳解

    這篇文章主要為大家介紹了Go語(yǔ)言基礎(chǔ)單元測(cè)試與性能測(cè)試示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助祝大家多多進(jìn)步
    2021-11-11
  • Golang反射修改變量值的操作代碼

    Golang反射修改變量值的操作代碼

    這篇文章主要介紹了Golang反射修改變量值,也就是Golang反射三大定律中的前兩個(gè),即從interface{}到反射對(duì)象和從反射對(duì)象到interface{},需要的朋友可以參考下
    2022-12-12
  • Go語(yǔ)言HTTPServer開發(fā)的六種方式小結(jié)

    Go語(yǔ)言HTTPServer開發(fā)的六種方式小結(jié)

    Golang的Server開發(fā)顯得非常簡(jiǎn)單,有很多種方式,本文就介紹了Go語(yǔ)言HTTPServer開發(fā)的六種方式,具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-11-11
  • 淺析Go語(yǔ)言中閉包的使用

    淺析Go語(yǔ)言中閉包的使用

    閉包是一個(gè)函數(shù)和其相關(guān)的引用環(huán)境組合的一個(gè)整體。本文主要為大家介紹一下Go語(yǔ)言中閉包的使用,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Go語(yǔ)言有一定幫助,需要的可以參考一下
    2022-12-12
  • Go語(yǔ)言基礎(chǔ)go接口用法示例詳解

    Go語(yǔ)言基礎(chǔ)go接口用法示例詳解

    這篇文章主要為大家介紹了Go語(yǔ)言基礎(chǔ)關(guān)于go接口的用法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,在日升職加薪
    2021-11-11
  • Goland使用delve進(jìn)行遠(yuǎn)程調(diào)試的詳細(xì)教程

    Goland使用delve進(jìn)行遠(yuǎn)程調(diào)試的詳細(xì)教程

    網(wǎng)上給出的使用delve進(jìn)行遠(yuǎn)程調(diào)試,都需要先在本地交叉編譯或者在遠(yuǎn)程主機(jī)上編譯出可運(yùn)行的程序,然后再用delve在遠(yuǎn)程啟動(dòng)程序,本教程會(huì)將上面的步驟簡(jiǎn)化為只需要兩步,1,在遠(yuǎn)程運(yùn)行程序2,在本地啟動(dòng)調(diào)試,需要的朋友可以參考下
    2024-08-08

最新評(píng)論

红河县| 繁峙县| 宁南县| 石棉县| 睢宁县| 潜江市| 交口县| 安达市| 漳平市| 商丘市| 天峻县| 岫岩| 成安县| 襄垣县| 托克托县| 大庆市| 沾益县| 盖州市| 济南市| 连州市| 青海省| 孟村| 仁布县| 虹口区| 彩票| 海宁市| 汽车| 天镇县| 琼结县| 潞西市| 酉阳| 塘沽区| 牟定县| 浦江县| 伊通| 潮州市| 清苑县| 富民县| 理塘县| 中方县| 沧源|