2017-05-26 29 views
0

テキストをこれらのクールな文字に変更するスクリプトを作成しようとしていますが、すべてが機能しているように見えますが、置き換えられたメッセージを送信しようとすると、黒い背景に白い疑問符のような文字。この:文字列の文字を配列の文字に置き換えます

は、ここでは、コードです:

var mm = "test"; 
    var alphabet = ""; 
    var nalphabet = "abcdefghijklmnopqrstuvwxyz";  
    for(var z in mm){ 
    var x = nalphabet.indexOf(mm[z].toLowerCase()); 
    var ool = alphabet[x]; 
    msg.channel.sendMessage(ool); 
    } 
+0

疑問符の付いたwhiet文字は、不正なエンコーディングの兆候です。つまり、少なくとも2つのタイプのエンコーディング、通常はASCIIとUTF8があります。データベース、ファイル、HTTPヘッダーエンコーディングを確認してください。 – Booster2ooo

+0

私が正しく理解していれば、 '' test "'のような文字列を '' "'に変更したいのですが、それは正しいのですか? –

答えて

0

これは、すべての文字のコーディングについてです。あなたのクールな文字のそれぞれは長さが2です。したがって、あなたはそのような文字をインデックスで直接取得しようとすると、その半分しか受け取りません。解決策として、2つの兄弟文字を結合しようとすることができます。このような何か

var mm = "test"; 
    var alphabet = ""; 
    var nalphabet = "abcdefghijklmnopqrstuvwxyz";  
    for(var z in mm){ 
    var x = nalphabet.indexOf(mm[z].toLowerCase()); 
    var ool = alphabet[x * 2] + alphabet[x * 2 + 1]; 
    msg.channel.sendMessage(ool); 
    } 
+0

それは働いた!ありがとうございました – Inferno

0

は、この方法を試してください。ここで

var message = "test"; 
var alphabet = ["","","","","", 
       "","","","","", 
       "","","","","", 
       "","","","","", 
       "","","","","",""]; 
var nalphabet = "abcdefghijklmnopqrstuvwxyz";  
for(var letter in message) { 
    var x = nalphabet.indexOf(message[letter].toLowerCase()); 
    var ool = alphabet[x]; 
    document.write(ool); 
} 

Fiddleです。

関連する問題