0
我試圖將PHP中的LZW解壓縮器從JSend轉換爲javascript,並且我得到了一個我無法理解的函數。解決JSend中LZW解壓縮php函數的問題
private static function decompressLZW($aCodes)
{
$sData = '';
$oDictionary = range("\x0000", "\xff");
foreach ($aCodes as $sKey => $iCode)
{
$sElement = $oDictionary[$iCode];
if (!isset($sElement))
$sElement = $sWord . $sWord[0];
$sData .= $sElement;
if ($sKey)
$oDictionary[] = $sWord . $sElement[0];
$sWord = $sElement;
}
return $sData;
}
這是我在JavaScript中,到目前爲止,但我當我在JavaScript運行它,它抱怨說sWord
沒有定義,並且在看PHP函數,我看不出這並未」會產生一個錯誤?
下面是我在javscript至今:
function decompressLZW(aCodes) {
var sData = '';
var oDictionary = [];
for (var i = 0; i < 256; i++) {
oDictionary[String.fromCharCode(i)] = i;
}
for(var i=0, iLn = aCodes.length; i < iLn; i++) {
var sElement = oDictionary[aCodes[i]];
if(!sElement) {
sElement = sWord + sWord[0];
}
//some magic needs to happen here
}
return sData;
}