[爆卦]VBA Str是什麼?優點缺點精華區懶人包

為什麼這篇VBA Str鄉民發文收入到精華區:因為在VBA Str這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者yuanta (BIGGAN)看板Soft_Job標題[請益] excel vba 寫utf8時...



抱歉 不知道應該po哪裡

這裡高手很多 不知道找不找的到解答

目前用excel vba產utf-8檔案給一支程式吃(java)

產出來的檔案直接用ultraEdit或notePad++看都很正常

但是 我自己寫java去讀此檔,會發現此檔案的第一行首碼會是空白

只有第一行會這樣哦

也就是用excel vba寫一個內容為"12345test"的utf-8檔

用java去讀 str.length = 10, str.substring(0) = 空白

不知道有人碰過這樣的狀況嗎,因為我一直google不到有人有同樣的情形



雖然我一直覺得是excel vba的adodb.stream寫utf8有bug

但我不知道excel vba的原理

因為我試著產過 big5(繁體 及 gb2312(簡體 都沒有這個問題

感謝


簡附程式如下
--Excel vba
Set fsT = CreateObject("ADODB.Stream")
fsT.Type = 2 '2:text
fsT.Charset = "utf-8"
fsT.Open
fsT.Position = 0

fsT.WriteText "12345test", 1 '1:write in line
fsT.SaveToFile "D:\temp\test.txt" 'Save File
fsT.Close


--Java部份
BufferedReader in = new BufferedReader(new InputStreamReader(new
FileInputStream("D:\\temp\\test.txt"), "utf-8"));

while ((str = in.readLine()) != null) {
System.out.println(str.substring(0, 1));
}


--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.184.246.138
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1439348089.A.7A5.html
keyboard56: 要不要讀進來前先掃ㄧ遍資料 確定無空白行 再讀取 08/12 10:59

感謝提醒 即使是固定字串如範例"12345test" 首碼還是會有一個空白
※ 編輯: yuanta (175.184.246.138), 08/12/2015 11:06:14
TsaiCF: 應該是vba有輸出BOM U+FEFF 在開頭 08/12 11:13
dingyuchi: google: vba utf8 bom 08/12 11:14

版上果然高手很多 太感謝了
什麼時候才可以拿到2m T.T

結論: 在開一個binary type去SKIP bom就可以了
※ 編輯: yuanta (175.184.246.138), 08/12/2015 11:41:29
givemepass: 搜尋良葛格 編碼 有完整介紹 08/12 13:23
da1228: 高手果然多,讚 08/12 15:47

你可能也想看看

搜尋相關網站