PDA

View Full Version : سوال: تبدیل فایل متنی unicode به ansi



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

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



رشته های داخل VB.NET یونیکد هستند بنابر این نگهداری داده ANSI یا ASCII باید داخل آرایه ای از بایت ها باشه، به محض اینکه در String قرارش بدیم تبدیل میشن.


Imports System.IO
Imports System.Text

Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim unicodeLog As String = "Unicode.log"
File.WriteAllText(unicodeLog, "این یک متن فارسی است")

Dim text As String = File.ReadAllText(unicodeLog)
Dim arabic As Encoding = Encoding.GetEncoding(1256)
Dim ansi() As Byte = arabic.GetBytes(text)
End Sub
End Class

فرض کنیم فایل Log شما اون Unicode.log باشه که داخلش متن فارسی هست. با arabic که کدپیج عربی است اونرو به در آرایه ansi بصورت کاراکتر های یک بایتی ANSI خواهید داشت و میتوانید در هر فایل یا ساختار داده ای باینری ذخیره کنید.