Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1506 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Cherche fonction de conversion bin to char et char to bin

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Cherche fonction de conversion bin to char et char to bin

n°193155
jerome002
Posté le 09-08-2002 à 19:33:43  profilanswer
 

Si possible en vbs est -ce que vous avez un exemple, c'est pour implementer dans un programme de cretation de divx. Et 'ai la fleme de le faire.
 
 
Sinon comment on fait une fois qu'on la chaine transformée en binaire pour l'écrire directemnt dans un fichier et pas comme un simple txt dans un fichier.
 
ldivx
Merci d'avance

mood
Publicité
Posté le 09-08-2002 à 19:33:43  profilanswer
 

n°195571
Musaran
Cerveaulté
Posté le 15-08-2002 à 04:13:10  profilanswer
 

Précise.
Tu veux trandformer une chaîne de caractères faite de '0' et '1' en sa valeur binaire ?


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
n°195667
jerome002
Posté le 15-08-2002 à 12:09:44  profilanswer
 

Dans VirtualDub il peut generer des batch mais comme le logiciel en lui meme ne connait pas les valeurs du codecs il les recuperes codeés.
 
voici une des chaines.
 
GAEAAMAzBwDQBwAACgAAABQAAAAsAQAADAAAAAIAAAAFAAAAAgAAAJABAAAAAAAAAAAAABBmkQVkAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAyAAAAAAAAAAAAAAAAAACgmZnJPwAAAKCZmck/QAAAAAEAAACAAAAAAAAAAAAAAAAAAAAAAAAAAIACAADgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAD/////BAAAAGU6XGxvcmRzXGxvcmRzLmxvZwBjOlx0ZXN0LmRpdngAZTpcbG9yZHNcbG9yZHMuYmluAGk=
 
 
Voici une chaîne décodé en binaire ( tronquée juste pour ex=
0001100000000001000001010000000001110000000....................010001100110001011100110110001101111011001110000000001100011001110100101110001110100011010011000101110011000100110100101101110000000000110100100100100
 
Et voici la fonction de décodage
et oui j'y suis arrivée car j'avais réussi à trouver de la doc
 
chainepass="GAEAAAAAAADQBwAACgAAABQAAAD6AAAADAAAAAIAAAAFAAAAAgAAACgAAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAyAAAAAAAAAAAAAACamZmZmZnJP5qZmZmZmck/QAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAIAAOABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAD/////AQAAAEM6XGRpdnhwYXNzLmxvZwBjOlx0ZXN0LmRpdngAYzpcbXZpbmZvLmJpbgBp"
 
 
 
 
 
 
 
lngfpass=len(chainepass)
 
 
Rem -----------------------------------------
Rem Decodage chaine premiere passe
Rem -----------------------------------------
 
Dim fpassbin, spassbin
 
 
 
Do  
 
pos=pos+1
MyVar=""
MyVar = Mid(chainepass,pos,1)  
 
Select Case MyVar
 
case "A" result="000000"
case "B" result="000001"
case "C" result="000010"
case "D" result="000011"
case "E" result="000100"
case "F" result="000101"
case "G" result="000110"
case "H" result="000111"
case "I" result="001000"
case "J" result="001001"
case "K" result="001010"
case "L" result="001011"
case "M" result="001100"
case "N" result="001101"
case "O" result="001110"
case "P" result="001111"
case "Q" result="010000"
case "R" result="010001"
case "S" result="010010"
case "T" result="010011"
case "U" result="010100"
case "V" result="010101"
case "W" result="010110"
case "X" result="010111"
case "Y" result="011000"
case "Z" result="011001"
case "a" result="011010"
case "b" result="011011"
case "c" result="011100"
case "d" result="011101"
case "e" result="011110"
case "f" result="011111"
case "g" result="100000"
case "h" result="100001"
case "i" result="100010"
case "j" result="100011"
case "k" result="100100"
case "l" result="100101"
case "m" result="100110"
case "n" result="100111"
case "o" result="101000"
case "p" result="101001"
case "q" result="101010"
case "r" result="101011"
case "s" result="101100"
case "t" result="101101"
case "u" result="101110"
case "v" result="101111"
case "w" result="110000"
case "x" result="110001"
case "y" result="110010"
case "z" result="110011"
case "0" result="110100"
case "1" result="110101"
case "2" result="110110"
case "3" result="110111"
case "4" result="111000"
case "5" result="111001"
case "6" result="111010"
case "7" result="111011"
case "8" result="111100"
case "9" result="111101"
case "+" result="111110"
case "/" result="111111"
     End Select
 
fpassbin=fpassbin&result
Loop Until pos=lngfpass
 
NB (c'est en vbs)
Maintenant je cree la fonction d'edition du binaire et de recodage)
Comme quoi comme on chercher  on peut que trouver
 
 
 

n°196186
Musaran
Cerveaulté
Posté le 17-08-2002 à 01:36:31  profilanswer
 

Tiens, j'avais tenté de modifier cette chaîne... certains paramètres évoluent bizarrement.
Leur valeur interne n'est pas celle affichée par les contrôles. Peut-être même qu'il y a des flottants ?
 
Vu qu'elle est de toutre façons si longue, ils auraient pu mettre de l'hexadécimal !
 
Pour réencoder, on fait l'inverse:

TextIn = ...
TextOut = ""
LenTextIn = Len(TextIn)
pos = 1
While pos < LenTextIn
   TextInChunk = Mid(TextIn, pos, 6)
   Select Case TextInChunk
      Case "000000": Value = "A"
      Case "000001": Value = "B"
      Case "000010": Value = "C"
      Case "000011": Value = "D"
      Case "000100": Value = "E"
      Case "000101": Value = "F"
      Case "000110": Value = "G"
      Case "000111": Value = "H"
      Case "001000": Value = "I"
      Case "001001": Value = "J"
      Case "001010": Value = "K"
      Case "001011": Value = "L"
      Case "001100": Value = "M"
      Case "001101": Value = "N"
      Case "001110": Value = "O"
      Case "001111": Value = "P"
      Case "010000": Value = "Q"
      Case "010001": Value = "R"
      Case "010010": Value = "S"
      Case "010011": Value = "T"
      Case "010100": Value = "U"
      Case "010101": Value = "V"
      Case "010110": Value = "W"
      Case "010111": Value = "X"
      Case "011000": Value = "Y"
      Case "011001": Value = "Z"
      Case "011010": Value = "a"
      Case "011011": Value = "b"
      Case "011100": Value = "c"
      Case "011101": Value = "d"
      Case "011110": Value = "e"
      Case "011111": Value = "f"
      Case "100000": Value = "g"
      Case "100001": Value = "h"
      Case "100010": Value = "i"
      Case "100011": Value = "j"
      Case "100100": Value = "k"
      Case "100101": Value = "l"
      Case "100110": Value = "m"
      Case "100111": Value = "n"
      Case "101000": Value = "o"
      Case "101001": Value = "p"
      Case "101010": Value = "q"
      Case "101011": Value = "r"
      Case "101100": Value = "s"
      Case "101101": Value = "t"
      Case "101110": Value = "u"
      Case "101111": Value = "v"
      Case "110000": Value = "w"
      Case "110001": Value = "x"
      Case "110010": Value = "y"
      Case "110011": Value = "z"
      Case "110100": Value = "0"
      Case "110101": Value = "1"
      Case "110110": Value = "2"
      Case "110111": Value = "3"
      Case "111000": Value = "4"
      Case "111001": Value = "5"
      Case "111010": Value = "6"
      Case "111011": Value = "7"
      Case "111100": Value = "8"
      Case "111101": Value = "9"
      Case "111110": Value = "+"
      Case "111111": Value = "/"
   End Select
   TextOut = TextOut & Value
   pos = pos + 6
Loop


Mais:
D'une part on peut peut-être faire mieux.
D'autre part il te faudra sûrement des fonctions de conversion entier<->chaîne binaire.
 
Voici les miennes en VB6:

Rem Convertit une chaîne de 0 et de 1 en sa valeur binaire.
Rem Maximum 32 chiffres, chaîne vide = 0.
Function StrBin2Val(StrBin As String) As Long
   Dim Pos As Integer
   Dim Weight As Long
   
   StrBin2Val = 0
   Pos = Len(StrBin)
   Weight = 1: Rem Valeur du bit en Pos dans StrBin
   If Pos > 32 Then Error 65535: Rem plus de 32 chiffres binaires !
   Do
      Select Case Mid$(StrBin, Pos, 1)
         Case "0":
         Case "1": StrBin2Val = StrBin2Val + Weight
         Case Else: Error 65535Rem Pas un chiffre binaire !
      End Select
      If Pos <= 1 Then Exit Do
      Rem préparer le bit suivant
      Pos = Pos - 1
      If Weight = 1073741824 Then
         Weight = -2147483648#: Rem *2 donnerait un overflow
      Else
         Weight = Weight * 2
      End If
   Loop
End Function

Rem Convertit une valeur binaire 32 bits en chaîne de 32 0 et/ou 1.
Function Val2StrBin(ByVal Val As Long) As String
   Dim Count As Integer
   
   Val2StrBin = ""
   For Count = 1 To 32
      Val2StrBin = IIf(Val Mod 2 = 1, "1", "0" ) & Val2StrBin
      Rem Val2StrBin = IIf(Val Mod Weight > 0, "1", "0" ) & Val2StrBin
      Rem Val = Val \ Weight * Weight
      If Val < 0 Then
         Val = Val + 2147483648#: Rem Gestion du bit de signe
      Else
         Val = Val \ 2
      End If
   Next
End Function


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Cherche fonction de conversion bin to char et char to bin

 

Sujets relatifs
[free] est-ce que les fonction session_* fonctionnent sur ce site?[C] Retourner un tableau d'int dans une fonction
Pb d'exportation d'une fonction API d'une dllConcatener un char * et un int en C
Concatener un char * et un int en CJe Cherche De L'Aide Pour Un Projet Avec Delphi 6 .
passer une fonction en paramètre dans une fonction c'est possible ?cherche tutorial pour exploter mysql
conversion chaine[HTML, JS] Faire une fonction javascript qui detecte les espaces
Plus de sujets relatifs à : Cherche fonction de conversion bin to char et char to bin


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR