Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 1017

 
Könnten Sie mir bitte die Daten<td colspan="8\" class=\"theDay\">\u0421\u0440\u0435\u0434\u0430, \u0410\u043f\u0440\u0435\u043b\u044c 20, 2016</td>\n UTF-8 Format mitteilen

Verstehe ich das richtig, dass Russisch in ANSI konvertiert werden muss, d.h. in CP_ACP?

Ich gehe folgendermaßen vor string ttt =CharArrayToString(RESULT,0,CP_ACP); Es ändert sich nichts, nur die Daten werden in der String-Variablen gespeichert
Das Speichern in einer Datei unter CP_ACP funktioniert ebenfalls nicht.
Ich mache etwas falsch. Die Ausgabe ist heDay\">Mittwoch, 20. April 2016<\/td>\n (ich habe auch uurlencoded post filter bei der Konvertierung von UTF-8 verwendet)
DIE FRAGE ist, wie man das in MQL macht?
 
Money_Maker:
Könnten Sie mir bitte die Daten<td colspan="8\" class=\"theDay\">\u0421\u0440\u0435\u0434\u0430, \u0410\u043f\u0440\u0435\u043b\u044c 20, 2016</td>\n UTF-8 Format mitteilen

Verstehe ich das richtig, dass Russisch in ANSI konvertiert werden muss, d.h. in CP_ACP?

Ich gehe folgendermaßen vor string ttt =CharArrayToString(RESULT,0,CP_ACP); Es ändert sich nichts, nur die Daten werden in der String-Variablen gespeichert
Das Speichern in einer Datei unter CP_ACP funktioniert ebenfalls nicht.
Ich mache etwas falsch. Der Online-Decoder übersetzt korrekt. Das Ergebnis lautet: heDay\">Mittwoch, 20. April 2016<\/td>\n
Die Frage ist, wie man das in MQL macht?
Woher wissen Sie das - schreiben Sie. Ich habe ein ähnliches Problem.
 
Money_Maker:
Könnten Sie mir bitte die Daten<td colspan="8\" class=\"theDay\">\u0421\u0440\u0435\u0434\u0430, \u0410\u043f\u0440\u0435\u043b\u044c 20, 2016</td>\n UTF-8 Format mitteilen

Verstehe ich das richtig, dass Russisch in ANSI konvertiert werden muss, d.h. in CP_ACP?

Ich gehe folgendermaßen vor string ttt =CharArrayToString(RESULT,0,CP_ACP); Es ändert sich nichts, nur die Daten werden in der String-Variablen gespeichert
Das Speichern in einer Datei unter CP_ACP funktioniert ebenfalls nicht.
Ich mache etwas falsch. Die Ausgabe ist heDay\">Mittwoch, 20. April 2016<\/td>\n (ich habe auch uurlencoded post filter bei der Konvertierung von UTF-8 verwendet)
FRAGE, wie man es in MQL macht?
https://forum.mql4.com/ru/67441
 
eevviill:
https://forum.mql4.com/ru/67441
Print(CharArrayToString(RESULT));
es findet keine Umkodierung statt... ( Das habe ich schon versucht ... ich glaube, ich habe etwas Ähnliches gefunden ... https://forum.mql4.com/ru/18476

#import "kernel32.dll"
   int WideCharToMultiByte(int CodePage, int dwFlags, int &lpWideCharStr[], int cchWideChar, string lpMultiByteStr, int cbMultiByte, 
                           int lpDefaultChar, int lpUsedDefaultChar);
#import

Es hat noch nicht geklappt... aber es scheint das richtige zu sein, oder ist es falsch?
 
Können Sie mir bitte sagen, wie ich die auf dem Bild gezeigten Daten umwandeln kann (cadabras in russische Buchstaben)? Wo soll in welcher Richtung gegraben werden(?


 
Money_Maker:
Können Sie mir bitte sagen, wie ich die auf dem Bild gezeigten Daten umwandeln kann (cadabras in russische Buchstaben)? Wo soll in welcher Richtung gegraben werden(?



Wenn ich mich nicht irre, ist es base64, es kann nur in PHP programmatisch umkodiert werden, oder schreiben Sie Ihre eigene Funktion in MQ
 
Vielen Dank, ich habe bereits verschiedene Optionen in Erwägung gezogen
1 Download unter Berücksichtigung der Kodierung
2 Download-Seite nach Anfrage im Browser, wird gut angezeigt
3 verschiedene Funktionen, konvertiert aus WinDLL oder C++
4 jetzt kommen, dass ich für jeden Buchstaben einen Code aufnehme und ihn zum Entschlüsseln verwende (d.h. ihre eigene Funktion)


OK, wie schreibe ich dieses "\u0430" in MQL-Code?

Ich erhalte die Warnung 'u' - nicht erkannte Zeichen-Escape-Sequenz

 
Money_Maker:
Danke, habe schon an verschiedene Optionen gedacht von
1 Download unter Berücksichtigung der Kodierung
2 laden Sie die Seite nach der Abfrage im Browser herunter, sie wird gut angezeigt.
3 verschiedene Funktionen zur Konvertierung von WinDLL oder C++
4 Jetzt bin ich dazu gekommen, für jeden Buchstaben einen Code zu nehmen und ihn zu entschlüsseln (d.h. eigene Funktion)


OK, wie schreibe ich dieses "\u0430" in MQL-Code?

Ich erhalte die Warnung 'u' - unerkannte Zeichen-Escape-Sequenz

Hier in PHP, nach ihrem Prinzip, es in MQ zu tun

function conv($str)
{
$uot = '';
$unicodePoints = array( '\u0410','\u0411','\u0412','\u0413',
'\u0414','\u0415','\u0416','\u0417',
'\u0418','\u0419','\u041A','\u041B',
'\u041C','\u041D','\u041E','\u041F',
'\u0420','\u0421','\u0422','\u0423',
'\u0424','\u0425','\u0426','\u0427',
'\u0428','\u0429','\u042A','\u042B',
'\u042C','\u042D','\u042E','\u042F',
'\u0430','\u0431','\u0432','\u0433',
'\u0434','\u0435','\u0436','\u0437',
'\u0438','\u0439','\u043A','\u043B',
'\u043C','\u043D','\u043E','\u043F',
'\u0440','\u0441','\u0442','\u0443',
'\u0444','\u0445','\u0446','\u0447',
'\u0448','\u0449','\u044A','\u044B',
'\u044C','\u044D','\u044E','\u044F');
$hexView = array(   'd090','d091','d092','d093',
'd094','d095','d096','d097',
'd098','d099','d09a','d09b',
'd09c','d09d','d09e','d09f',
'd0a0','d0a1','d0a2','d0a3',
'd0a4','d0a5','d0a6','d0a7',
'd0a8','d0a9','d0aa','d0ab',
'd0ac','d0ad','d0ae','d0af',
'd0b0','d0b1','d0b2','d0b3',
'd0b4','d0b5','d0b6','d0b7',
'd0b8','d0b9','d0ba','d0bb',
'd0bc','d0bd','d0be','d0bf',
'd180','d181','d182','d183',
'd184','d185','d186','d187',
'd188','d189','d18a','d18b',
'd18c','d18d','d18e','d18f' );
for($i=0; $i < strlen( $str ); $i++)
{
if(bin2hex($str{$i}) >= 'd0' && bin2hex($str{$i}) <= 'd1')
{
$uot .= bin2hex($str{$i}).bin2hex($str{$i+1});
$i++;
}
elseif(bin2hex($str{$i}) <= '7e')
{
$uot .= '\u00'.bin2hex($str{$i});
}
else $uot .= htmlentities($str{$i},ENT_QUOTES,'UTF-8');
}
return str_replace($hexView,$unicodePoints, $uot);
}

Die Idee ist, dass Sie die Zeichenkette in Zeichen aufschlüsseln und Zeichen für Zeichen durch das richtige Zeichen ersetzen, wenn es mit dem Array übereinstimmt.

 
Trader76:

Hier in PHP, nach ihrem Prinzip, es in MQ zu tun

Die Idee ist, dass Sie die Zeichenkette in Zeichen aufteilen und das richtige Zeichen Zeichen für Zeichen ersetzen, wenn es mit dem Array übereinstimmt.

vielen Dank, es wird schneller gehen, ich habe mich auch so für "lippy" entschieden, besonderen Dank für die Zeichencodes, jetzt müssen sie nicht mehr danach suchen.
 
Money_Maker:
Vielen Dank, das wird schneller gehen, deshalb habe ich mich auch entschlossen, das Prinzip zu "lecken", besonderen Dank für die Zeichencodes, jetzt muss ich sie nicht mehr suchen.

StringGetChar()

StringGetChar()

Oder ist das falsch?