我要如何在字串與ASCII碼之間做轉換?

更新 Feb 12, 2020

產品資訊

Software

  • LabVIEW Full
  • LabVIEW Base
  • LabVIEW Professional

問題敘述

我正在做儀器控制的應用,在其中需要將命令字串轉換為ASCII碼。有什麼簡單的方式可以直接將字串轉為ASCII碼,或者將ASCII碼轉為字串?

解決方案

  • ASCII字元轉換為相應的ASCII碼
Character 連接到Type Cast VI左側的輸入。由於Type Cast VI預設的輸出為字串的形式,所以必須將連接一個U8的常數到Type Cast VI的Type terminal,以轉換輸出的型態。接著,將如下圖顯示與輸入字元對應的ASCII碼(U8)
  • 將帶有ASCII碼的整數轉換為其對應的ASCII字元
ASCII碼(U8)連接到Type Cast VI左側的輸入,並確保其格式為U8(單一個ASCII字元或ASCII碼僅佔用一個byte的資料量)。 Type Cast VI的輸出就是ASCII character。您可以使用String Concatenate VI將此字元合併到儀器命令字串中
  • 將ASCII字元轉換為相應的十六進制ASCII碼
關於這個主題可以詳閱這篇文章
  • string control中輸入不可顯示的字元
透過右鍵點選string control,可以將其更改為Normal Display、'\' Codes Display、Password Display,或Hex Display。有一些不能顯示的字元,可以透過在'\'後輸入相對應的轉譯碼,或者使用反斜槓加上十六進制等效字元。例如,tab是\t\09。在十六進制顯示中,每個字元將等效表示成其相對應的十六進制字元。

相關資訊

請務必注意,  String/Number Conversion sub-palette所提供的功能與本文中所描述的typecast functions不同。該palette用於將數字轉換為表示相同數字的字串(例如:64 » "64"),而不是將每個數字視為表示數字的ASCII碼(例如:64 » "@")。