LabVIEW Pro 專業論壇-技術討論區-Number To Decimal String自動產生空白和奇怪符號
 
     
 
 
 
LabVIEW 討論區基礎教學每月專題分享技術問題精選online Test
技術討論區 程式分享區 教育訓練與認證區 閒話家常區 工作機會討論區 回報區 ✦LabVIEW NXG 特區✦ 高手專訪系列
 熱門關鍵字 
    3小時內學會 LabVIEW    CLD 考前衝刺    量測概念充電站    取得 NI 協助    TOP 資源排行榜
 您的位置:首頁 > 技術討論區 > Number To Decimal String自動產生空白和奇怪符號
  技術討論區   板主:meiae
 之1(2篇)
Number To Decimal String自動產生空白和奇怪符號 
 
q86643
暱稱:薯條
經驗值:49
等級:學徒
發文:4
回文:11
版本:LabVIEW 2014
闖關狀態:
前往地圖:
 
字級設定

各位高手們我又來發問了><,現在我的狀況是我將記事本的檔案讀取後輸出為方波(因為檔案裡面只有0和1),然後再將方波調變和解調後,再看波型跟原本有沒有一樣,到這邊都ok,不過看到圖片紅框這邊,我的目的是要將原本的方波存到記事本,先不考慮調變和解調後會loss或delay而少幾筆資料,我希望方波存成記事本的值(附件out.txt.)會跟原本讀進來的(original.txt)的檔案一樣,不過Number To Decimal String會自己增加空格和一個雖然在記事本上看到是空白,不過貼到word上面看卻是一個奇怪的符號,我用記事本的取代功能把空格砍掉的話要取代兩次,一次是空格,另一次是那個奇怪的符號,我調width也沒辦法讓自動產生的空格不見,只能調整它漂移的位置而已,不知道有沒有大大知道該如何讓它不要產生這兩樣東西?
[+]放大圖片
 
[+]放大圖片
 
[+]放大圖片
 
[+]放大圖片
 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
附件檔案:    
original01.txt
out01.txt
已解決!轉到解決方案
  文章人氣: 261 讚:0 文章日期:2018/10/05 06:02
mingyenwei

暱稱:銘延
經驗值:2821
等級:總舵主
發文:5
回文:814
版本:LabVIEW 2013
闖關狀態:
飄渺嶺
前往地圖:
1樓
字級設定

請參考下列ASCII的轉換方式。

 

***1*** 因為你打算畫圖,預期可能有一些正負號計算,所以使用了[I8],

用這個方法存檔時請先用內建VI,將[I8]轉換為[U8]。

 

***2*** 接著

[U8]的49會被轉換為單字元的'1'

[U8]的48會被轉換為單字元的'0'

 

***3***

最重要的是,這個功能會自動幫你把「整數數值的Array」, 自動變成「字元貼在一起的字串」。

省去了Indexing解開與重新Build String的動作。

[+]放大圖片
 
[+]放大圖片
 

 

***4*** 

你多的字元問題是出在Number To Decimal String (數值轉換為十進位制字串顯示) 的時候

他吃的是單個[I8]或[U8]整數,但你送了[I8] Array或[U8] Array

 

這觸動了這顆VI的強迫症,他幫你把每個整數轉換出來的Decimal String都個別放到「字串的Array」中。

在你把「任何」Array To File的時候,他會幫你安排Delimeter (例如逗號 ',' 或 Tab '\t')

這就是你看到的分開原因了。

 

因為這顆VI的孿生雙子VI,主要功能就是用來從有Delimeter的字串文件中,把檔案讀回來形成整數Array,因此這顆VI才會有這樣的症頭。

 

***5***

如果你堅持要使用,請試試看用For Loop把你的Array拆開成單個字,接著再來轉換成String。

Number To Decimal String 底層能用的就是我的方法,因此不要太留戀Number To Decimal String

 

它是專門用來在資料擷取後,產生十進位字串,然後存檔。因此預期的世界都有Delimeter,小數點,甚至科學記號。你要它不做那些東西,它很痛苦的。然後你也會很痛苦的... Orz

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
附件檔案:    
a-009.vi
  版本:LabVIEW 2013
Front Panel
Block Diagram
 
 
    讚:1 文章日期:2018/10/05 10:24
q86643

暱稱:薯條
經驗值:49
等級:學徒
發文:4
回文:11
版本:LabVIEW 2014
闖關狀態:
前往地圖:
2樓
字級設定

謝謝mingyenwei大的詳細解說

 

Labview每做一個步驟都要注意彼此型態,而且有時候也不知道現在的型態是什麼,真的有點頭痛

所以我要避免產生間隔的話就要避免使用Number To Decimal String

 

另外想請問mingyenwei大,我在記事本儲存的任何數值或英文字母,即使是記事本裡面只有儲存0和1,在電腦中也是視為字元嗎?實際電腦內部還是在用ASCII跑,將我們看到的0和1轉換為ASCII的48和49在run?因為我當初在將圖片轉成記事本裡的0和1,結果每個0和1都占1個byte,和我當初想的只占1bit落差實在太大,因此我看到記事本的0實際上為00110000(48)和1的00110001(49)的ASCII碼嗎?

    讚:0 文章日期:2018/10/08 14:28
 之1(2篇)
 
 
   會員中心 
帳號:
     
密碼:
     
  以後自動登入
 
註冊
   待回覆文章 
1. 請教indicator 初始化
 
   Top 5 熱門討論 
1. 向 LabVIEW Pro 道別
2. 請教indicator 初始化
3. HTTP訪問跟取得資訊
4. 程式問題
5. case
 
 
 
LabVIEW討論區 站長信箱 關於我們 站內聲明
國家儀器股份有限公司贊助;Sponsored by NI.
© 2010 National Instruments, Taiwan. All rights reserved. design by begonia