Страница: 1 | 
		
		 
			   
			 
			 
			 
			 Страница: 1 | 
 
			
 
  
		
     
  
    
Вопрос: Помогите новичку записать в файл unicode текст
     
    
Добавлено: 30.03.06 16:40
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
     Андрей
 Андрей
      
       
  
Мне нужно записывать в файл текстовые сообщения в кодировке Unicode (CP 1200), там где 'A' имеет hex-code
 
    
410. Прочитал, что string хранится в VB.NET в кодировке unicode, но вот этот простой код тупо пишет 8-бит вместо 16.  Что не так?
Sub Main()
        Dim MyString As System.String
        Dim ReadString As String
        Dim iFr As Integer
        iFr = FreeFile()
        Console.WriteLine("My test")
        ReadString = "test.txt"
        FileOpen(iFr, ReadString, OpenMode.Binary)
        MyString = "Йопрст"
        FilePut(iFr, MyString)
        FileClose(1)
    End Sub
Пытался добавлять в FilePut параметры, в т.ч. последний из 5 пробовал TRUE, но увы
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 6
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа: Neco
 Neco









ICQ: 247906854 
Вопросов: 133
Ответов: 882
      
 Web-сайт:  
 Профиль |  | #1
      
Добавлено:  31.03.06 04:20
       
    
       
  
Попробуй через Encoding
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа: Андрей
 Андрей



Вопросов: 3
Ответов: 2
      
 Профиль |  | #2
       
Добавлено:  31.03.06 11:42
       
    
       
  
Спасибо! Получилось... 
 
    
  im file As New FileStream("test.txt",FileMode.OpenOrCreate)
im file As New FileStream("test.txt",FileMode.OpenOrCreate)
  im [unicode] As Encoding = Encoding.Unicode
im [unicode] As Encoding = Encoding.Unicode
  im myStr As String = "Йопрст"
im myStr As String = "Йопрст"
  im unicodeBytes As Byte() = [unicode].GetBytes(myStr)
im unicodeBytes As Byte() = [unicode].GetBytes(myStr)
 
 For i As Integer = 0 To unicodeBytes.Length - 1
      file.WriteByte(unicodeBytes(i))
 Next i
 file.Close()
		
	  
			 
	
		 
    
       
    
Номер ответа: 3 
      
Автор ответа: Fever
 Fever








Вопросов: 60
Ответов: 808
      
 Профиль |  | #3
       
Добавлено:  31.03.06 17:16
       
    
       
  
Ну вот и пжалста. А в VB6 можно?
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 4 
      
Автор ответа: Neco
 Neco









ICQ: 247906854 
Вопросов: 133
Ответов: 882
      
 Web-сайт:  
 Профиль |  | #4
      
Добавлено:  31.03.06 21:00
       
    
       
  
Там есть StrConv
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 5 
      
Автор ответа: a-nix
 a-nix





ICQ: 336960222 
Вопросов: 2
Ответов: 5
      
 Профиль |  | #5
       
Добавлено:  01.04.06 12:27
       
    
       
  
Люди добрые: VB6 - Unicode -> обычный
 
    
Все перепробовал - без результатов. Помогите...
		
	  
			 
	
		 
    
       
    
Номер ответа: 6 
      
Автор ответа: Sur
 Sur



ICQ: 1249088 
Вопросов: 10
Ответов: 304
      
 Web-сайт:  
 Профиль |  | #6
      
Добавлено:  03.04.06 18:48
       
    
       
  
2 a-nix 
 
    
StrConv точно пробовал?
Debug.Print StrConv("@825B", vbFromUnicode)