code: func (dt *DbfTable) FieldValue(row int, fieldIndex int) (value string) {
  
  	offset := int(dt.numberOfBytesInHeader)
  	lengthOfRecord := int(dt.lengthOfEachRecord)
  
  	offset = offset + (row * lengthOfRecord)
  
  	recordOffset := 1
  
  	for i := 0; i < len(dt.fields); i++ {
  		if i == fieldIndex {
  			break
  		} else {
  			recordOffset += int(dt.fields[i].length)
  		}
  	}
  
  	temp := dt.dataStore[(offset + recordOffset):((offset + recordOffset) + int(dt.fields[fieldIndex].length))]
  
  	enforceBlankPadding(temp)
  
  	s := dt.decoder.ConvertString(string(temp))
  	//fmt.Printf("utf-8 value:[%#v] original value:[%#v]\n", s, string(temp))
  
  	value = strings.TrimSpace(s)
  
  	//fmt.Printf("raw value:[%#v]\n", dt.dataStore[(offset + recordOffset):((offset + recordOffset) + int(dt.Fields[fieldIndex].fixedFieldLength))])
  	//fmt.Printf("utf-8 value:[%#v]\n", []byte(s))
  	//value = string(dt.dataStore[(offset + recordOffset):((offset + recordOffset) + int(dt.Fields[fieldIndex].fixedFieldLength))])
  	return
  }
docs: //FieldValue returns the content for the record at the given row and field index as a string
  // If the row or field index is invalid, an error is returned .