Encoding Powershell中针对Google图表的扩展编码功能

Encoding Powershell中针对Google图表的扩展编码功能,encoding,powershell,google-visualization,Encoding,Powershell,Google Visualization,我有一个简单的编码功能,可以在Powershell中正常工作。但是,我需要一个扩展编码函数,因为我将绘制超过62个点。google提供的用于扩展编码的Javascript函数是 简单编码函数示例: function simpleEncoding ($valueArray) { $simpleEncoding = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789' $total = 0 foreach ($value

我有一个简单的编码功能,可以在Powershell中正常工作。但是,我需要一个扩展编码函数,因为我将绘制超过62个点。google提供的用于扩展编码的Javascript函数是

简单编码函数示例:

function simpleEncoding ($valueArray) {
$simpleEncoding = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'

$total = 0
foreach ($value in $valueArray) {
    $total = $total + $value
}
for ($i = 0;$i -lt $valueArray.length;$i++) {

    $relativeValue = ($valueArray[$i] / $total)*62
    $relativeValue = [math]::round($relativeValue)

    $encodingValue = $simpleEncoding[$relativeValue]

    $Data = $Data + "" + $encodingValue

    }    
  return $data
}

因此,我正在寻求帮助,将Javascript扩展编码功能调整到Powershell中。

我想我有一个工作版本:

Function Get-ExtendedEncoding {
Param (
    $dataArray,
    $maxValue
)

$ExtendedMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-.'
$MapLength = $ExtendedMap.length

 for ($i = 0;$i -lt $dataArray.length;$i++) 
{
    $numvalue = [int]$dataArray[$i]
    $scaledValue = $MapLength * $MapLength * $numvalue / $maxValue

    If($scaledValue -gt ($MapLength * $MapLength) -1)
        {
           $chartData += ".."
        }
     Elseif ($scaledValue -lt 0)
        {
            $chartData += '__'
        }
     Else 
        {
            $quotient = [Math]::Floor($scaledValue / $MapLength)
            $remainder = $scaledValue - $MapLength * $quotient
            $chartdata += $ExtendedMap[$quotient] + $ExtendedMap[$remainder]
        }
 }
        return $chartdata
 }

问题是什么?您不能像在simpleencoding中那样在powershell中调整extendedencoding函数吗?是的,这是正确的-我刚刚澄清了这个问题。如果其他人需要,简单编码可以作为参考。我很确定,您可以使用
foreach($dataArray中的数据){$numvalue=[int]$data..}