PDA

View Full Version : تبدیل فایل تکست یونیکد به ANSI



ali190
دوشنبه 11 آذر 1398, 23:51 عصر
باسلام
من یه فایل log از جنس یونیکد دارم که میخوام وارد جدول دیتابیسم بکنمش ولی وقتی واردش میکنم اطلاعاتش بخصوص اسامی فارسیش درهم برهم میشه
همین فایل رو وقتی با نوت پد به ANSI سیو میکنم مشکل حل میشه
کد تبدیل Unicoe به Ansi رو میخوام
ممنون میشم راهنمایی بفرمایید.

the king
سه شنبه 12 آذر 1398, 23:47 عصر
باسلام
من یه فایل log از جنس یونیکد دارم که میخوام وارد جدول دیتابیسم بکنمش ولی وقتی واردش میکنم اطلاعاتش بخصوص اسامی فارسیش درهم برهم میشه
همین فایل رو وقتی با نوت پد به ANSI سیو میکنم مشکل حل میشه
کد تبدیل Unicoe به Ansi رو میخوام
ممنون میشم راهنمایی بفرمایید.

فرض کنیم در یک فایل متن Unicode فارسی داریم :


Dim unicodeLog As String
Dim bytes() As Byte
unicodeLog = "Unicode.log"
Open unicodeLog For Binary As #1
bytes = "Çíä í˜ ãÊä ÝÇÑÓí ÇÓÊ"
Put #1, , bytes
Close #1


و با کد زیر در ansi بصورت آرایه ای از بایت های ANSI دریافتش می کنیم، 0x429 کد LCID زبان فارسی است :


Dim unicodeLog As String
unicodeLog = "Unicode.log"
Dim unicode() As Byte
Open unicodeLog For Binary As #1
ReDim unicode(0 To LOF(1) - 1)
Get #1, , unicode
Close #1
Dim text As String
text = unicode
Dim ansi() As Byte
ansi = StrConv(text, vbFromUnicode, &H429)


و بصورت معکوس هم می توانیم مجددا به Unicode تبدیلش کنیم :


text = StrConv(ansi, vbUnicode, &H429)

ali190
چهارشنبه 13 آذر 1398, 13:53 عصر
فرض کنیم در یک فایل متن Unicode فارسی داریم :


Dim unicodeLog As String
Dim bytes() As Byte
unicodeLog = "Unicode.log"
Open unicodeLog For Binary As #1
bytes = "Çíä í˜ ãÊä ÝÇÑÓí ÇÓÊ"
Put #1, , bytes
Close #1


و با کد زیر در ansi بصورت آرایه ای از بایت های ANSI دریافتش می کنیم، 0x429 کد LCID زبان فارسی است :


Dim unicodeLog As String
unicodeLog = "Unicode.log"
Dim unicode() As Byte
Open unicodeLog For Binary As #1
ReDim unicode(0 To LOF(1) - 1)
Get #1, , unicode
Close #1
Dim text As String
text = unicode
Dim ansi() As Byte
ansi = StrConv(text, vbFromUnicode, &H429)


و بصورت معکوس هم می توانیم مجددا به Unicode تبدیلش کنیم :


text = StrConv(ansi, vbUnicode, &H429)

ممنون دوست عزیز