PDA

View Full Version : تبدیل به یونیکد



ArianProg
جمعه 25 آذر 1390, 14:52 عصر
با سلام کسی میدونه چطوری میشه متن یک تکست باکس رو به یونیکد تبدیل کرد؟

لطفا function و نحوه استفاده از اونو هم بگین .

ممنون.

ahmadreza517
جمعه 25 آذر 1390, 18:55 عصر
به نام تنها برنامه نویس هستی
سلام

برای این کار که بتونی متن داخل تکس باکس تبدیل به یونیکد کنی
باید کاراکتر به کاراکتر بخونی بعد تبدیل کنی به کد اون کاراکتر
میتونی از این فضای نام استفاده کنی

System.Text.Encoding.Unicode

ArianProg
جمعه 25 آذر 1390, 20:08 عصر
به نام تنها برنامه نویس هستی
سلام

برای این کار که بتونی متن داخل تکس باکس تبدیل به یونیکد کنی
باید کاراکتر به کاراکتر بخونی بعد تبدیل کنی به کد اون کاراکتر
میتونی از این فضای نام استفاده کنی

System.Text.Encoding.Unicode


سلام ممنون میگم میشه بیشتر توضیح بدین :

مثلا اگر textbox1.txt حاوی یک متن بود مثلا "برنامه نویس" چه جوری به یونیکد تبدیل کنم ؟

میشه کدش رو گین و نحوه استفادش رو .

ممنون میشم.

meisam3322
جمعه 25 آذر 1390, 20:13 عصر
دوست عزیز این کد رو بالای همه دستورات بنویس :



Imports System.Text.UTF8Encoding

ArianProg
جمعه 25 آذر 1390, 20:18 عصر
دوستان عزیز ممنون از راهنماییتون من تا اینجا رو که میدونستم !

میشه بیشتر توضیح بدین و مثال بزنین.

ArianProg
جمعه 25 آذر 1390, 23:06 عصر
توضیح بیشتر اینکه ببینیدشما تو نوت پد وقتی فارسی می نویسی و میخوای سیو کنی میگه اگه میخوای اطلاعات درست سیو بشه باید یونیکد باشه اگه یونیکد سیو

نکنی و به طریق پیشفرض یعنی ANSI سیو کنی وقتی فایل تکست رو باز کنی میبینی همش به علامت سوال تبدیل شده.

من میخوام متن فارسی تکست باکس با فرمت یونیکد تبدیل و سیو بشه.

meisam3322
شنبه 26 آذر 1390, 01:02 صبح
اگر از RichTextBox استفاده کنی برای ذخیره کردن :


richTextBox1.SaveFile("C:\Log.txt", RichTextBoxStreamType.UnicodePlainText)

ahmadreza517
شنبه 26 آذر 1390, 11:37 صبح
دوست عزیز این نمونه پروژه برات گذاشتم ببین کارت راه میوفته

به این آدرس هم یه سری بزن
http://msdn.microsoft.com/en-us/library/system.text.utf8encoding.aspx

ArianProg
شنبه 26 آذر 1390, 18:32 عصر
دوست عزیز این نمونه پروژه برات گذاشتم ببین کارت راه میوفته

به این آدرس هم یه سری بزن
http://msdn.microsoft.com/en-us/library/system.text.utf8encoding.aspx

ممنون میرم تستش کنم.

ArianProg
شنبه 26 آذر 1390, 19:37 عصر
دوست من این که شما زحمت کشیدی این نبود که من می خواستم.:ناراحت:

برنامه شما فقط کد اسکی کلید فشارداده شده رو میگه.

تازه لیست باکس هم کار نمیکنه.!

من که یونیکدی ندیدم.!

ببین شما یه کد میتونی بنویسی که کلمه "برنامه نویس " یا "علی " رو به یونیکد تبدیل کنه ؟؟؟

alimanam
یک شنبه 27 آذر 1390, 13:59 عصر
با سلام

دوستان اگه راهنمایی میکنن لطف کنن به صورت کامل این کار رو انجام بدن به صرف اینکه برو فلان کلاس رو اضافه کن خودش میره واست این کار رو انجام میده که نشد راهنمایی !!!

Imports System.Text
Imports System.IO

Public Class Form1

Private Function ReadFileAsUtf8(ByVal fileName As String) As String
Dim encoding As Encoding = encoding.Default
Dim original As String = String.Empty

Using sr As New StreamReader(fileName, encoding.Default)
original = sr.ReadToEnd()
encoding = sr.CurrentEncoding
sr.Close()
End Using

If encoding Is encoding.UTF8 Then
Return original
End If

Dim encBytes() As Byte = encoding.GetBytes(original)
Dim utf8Bytes() As Byte = encoding.Convert(encoding, encoding.UTF8, encBytes)
Return encoding.UTF8.GetString(utf8Bytes)

End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TextBox1.Text = ReadFileAsUtf8("test.txt")
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If Not TextBox1.Text.Length = 0 Then
Dim sw As New StreamWriter("out_unicode.txt", False, System.Text.Encoding.Unicode)
sw.Write(TextBox1.Text)
sw.Close()
End If
End Sub
End Class


موفق باشید ./

ArianProg
یک شنبه 27 آذر 1390, 19:17 عصر
سلام علی آقا ممنون که جوا دادی دمت گرم .:تشویق:

حرف دلمو گفتی ممنون.:خجالت:

خدا خیرت بده .:قلب:

خیلی آقایی . از آشنایی شما خوشبختم. :لبخندساده:

کاشکی میشد یه حلقه همین جا تعریف کنم که ! N بار ازت تشکر کنه.:کف:

vb.net.33
یک شنبه 27 آذر 1390, 20:04 عصر
سلام علی آقا ممنون که جوا دادی دمت گرم .:تشویق:

حرف دلمو گفتی ممنون.:خجالت:

خدا خیرت بده .:قلب:

خیلی آقایی . از آشنایی شما خوشبختم. :لبخندساده:

کاشکی میشد یه حلقه همین جا تعریف کنم که ! N بار ازت تشکر کنه.:کف:

اون برنامه که عنوان فارسی رو پس می داد درست کار کرد؟

Hossis
یک شنبه 27 آذر 1390, 21:11 عصر
ببین دوست عزیز, مشکلی در خواندن متن معمولی و ذخیره اون به یونیکد (UTF8) نیست. این کار رو میشه با دو خط کد انجام داد
TextBox1.Text = IO.File.ReadAllText("d:\01.txt", System.Text.Encoding.ASCII)
IO.File.WriteAllText("d:\01.txt", TextBox1.Text, System.Text.Encoding.UTF8)
مشکل اصلی و مهم , در تشخیص کدپیج فایل هست که یونی کد هست یا اسکی یا یوتی اف و هر چیز دیگر که من تابحال نتونستم اون رو حل کنم